研究一下: Class.forName()发生了什么?
。 记住重点:
如果你只是希望一个类的静态代码块执行,其他代码一律不执行,你可以使用:
Class.forName(“完整类名”);
这个方法的执行会导致类加载,类加载时,静态代码块执行。
提示:
后面JDBC技术的时候还需要这个
package cn.itcast.day04.demo01.Kt1.test2;
/*
研究一下,Class.forName();发生了什么?
*/
public class Reflect {
public static void main(String[] args){
try {
//class.forName()会导致类加载。
Class.forName("cn.itcast.day04.demo01.Kt1.test2.MyClass1");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
class MyClass1{
static{
//静态代码块在类加载时执行,并且只执行一次。
System.out.println("静态代码块执行了!");
}
}