package fanshe;
public class Person {
private int age;
private String name;
static {
System.out.println("initial static block...");
}
}
package fanshe;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Mymain {
public static void main(String[] args) throws Exception{
ClassLoader c1 = ClassLoader.getSystemClassLoader();
c1.loadClass("fanshe.Person");
System.out.println("系统加载Person类");
Class.forName("fanshe.Person");
}
}
输出结果:
系统加载Person类
initial static block...
原因: ClassLoader 加载类时不会进行类的初始化, Class.forName()会强制初始化该类。