类加载的三种方式
- new对象
- Class.forName
- ClassLoader.getSystemClassLoader().loadClass
public class Test000 {
static {
System.out.print("OK");
}
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
//Class test000 = Class.forName("Test000");
Class test001 = ClassLoader.getSystemClassLoader().loadClass("Test000");
//test000.newInstance();
test001.newInstance();
//new Test000();
}
}```
//以上的代码执行任意一种都会执行静态代码块中的方法,如果三句话都执行,只会出现**一次“OK”**,因为只会加载一次Test000这个类