Class.forName(xxx.xx.xx) 返回的是一个类 ,作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段

---------

首先,在java里面任何class都要装载在虚拟机上才能运行。Class.forName就是装载类的 (和new 不一样,要分清楚)。

给你一个类的包名和类名,就可以用Class.forName去实例化它。
例:     A a = (A)Class.forName("pacage.A").newInstance(); 
   这和 A a = new A();   是一样的效果。

还有,jvm会执行静态代码段,静态代码是和class绑定的,class装载成功就表示执行了静态代码了。而且以后不会再走这段静态代码了。

用到数据库就是用来加载驱动。
例如:  加载数据库jdbc-odbc
         Class.forName("sun.Jdbc.Odbc.JdbcOdbc");

05-08 08:28