driver="XXXX";
Class.forName(driver);装载驱动程序。Class.forName是一个什么函数?为什么这个函数能装载驱动程序,我一直以为Class c1=Class.forName("XX");是用来通过名字查询Class的。请问Class是一个静态类,这个类主要是干嘛的?都有哪些方法

解决方案 »

  1.   

    Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,即任何一个JDBC Driver的Driver类的代码都必须类似如下:
    public class MyJDBCDriver implements Driver {
    static {
    DriverManager.registerDriver(new MyJDBCDriver());
    }
    }所以我们在使用JDBC时只需要Class.forName(XXX.XXX);就可以了以上内容是我在网上查到的,不是我自己原创的,希望对楼主有用。
      

  2.   

    要求JVM查找并加载指定的类,据我了解有个ClassLoader类lodeClass()专门干这个事情,Class.forName从名字上看完全不像干这个的,也太模糊了
      

  3.   

    Java的反射机制 1.是用来内窥一个类中有什么变量,什么方法,以及参数.
    2.就是动态的加载被反射类中的某个方法.class这个类是个特殊的类,说
    白了就是个描述类的类.JDBC 中就是动态加载了其中需要的方法