"How is it possible?" There's no problem in calling a method and ignoring a return value -- everybody does it all the time. What you're really asking is "How does calling Class.forName() make register the driver?" The answer is that by convention,
JDBC driver classes contain a static initializer block which calls DriverManager.registerDriver() with an instance of its class. Static initializer blocks are executed when a class is loaded, so that loading the driver class is enough to register the driver. So
the class weblogic.jdbc.odbc.Driver might look like