public class SuperClass {
static{
System.out.println("superclass init");
}
public static int value = 123;
}
public class SubClass extends SuperClass{
static{
System.out.println("subclass init");
}
}
public class Client {
public static void main(String[] args) {
System.out.println(SubClass.value);
}
}
上面这段代码运行之后只会输出 “superclass init”,并不会输出“subclass init”,
也就是只触发了父类的初始化,并没有触发子类的初始化,由于对类加载机制不太了解,,望大神解惑