forName public static native Class forName(String className) throws ClassNotFoundException返回给定的字符串名对应的 Class 对象。 若给定一个类或接口的完整路径名,那么此方法将试图定位、装载和连接该类。若成功,返回该类对象。否则,抛出 ClassNotFoundException 异常。 例如,下面代码段返回名为 java.lang.Thread 的运行 Class 描述器。 Class t = Class.forName("java.lang.Thread") 参数: className - 期望类的全路径名。 返回值: 指定名的 Class 描述器。
forName是装载驱动类,初始化一些资源,实例化一些static,native方法吧(不确定,jdk源码没写多详细)这样下面的DriverManager.getConnection()才能够取得数据库连接
现在大四毕业,还是没看懂。
static
{};程序块,那么这段程序将被执行。如果存在 static 变量,那么这个变量将会被初始化。
例如,下面代码段返回名为 java.lang.Thread 的运行 Class 描述器。 Class t = Class.forName("java.lang.Thread") 参数:
className - 期望类的全路径名。 返回值:
指定名的 Class 描述器。
抛出: ClassNotFoundException
如果没有发现该类。
不知道爲什麽各公司的JDBC驅動都要由它來註冊。