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");