Originally posted by Arnav Velimala:
Are you sure that it is not really required to instantiate the class.
I believe in the Driver classes there will be a static block that will instantiate the class.
It helps to be precise here. What Anupam refers to as "we" is the client program, and that does not need an instance of the driver - it needs objects that implement the relevant interfaces. Of course there's an instance of the driver class being involved somewhere, but not (directly) in the client code.
You're right that loading the class will lead to the driver creating an instance of itself, as per the java.sql.Driver javadocs.