No, JDBC is not built on top of ODBC. However, a JDBC Type 1 driver (JDBC-ODBC bridge) does use ODBC to actually communicate with the database, by converting JDBC calls to ODBC calls (hence bridge). That's not a very commonly used type though, because performance suffers quite a bit, among other things.
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.