class Super { static String ID = "SUPER_ID"; }
class SubClass extends Super{
static { System.out.print("In SubClass"); }
}
class Test{
public static void main(String[] args) {
System.out.println(SubClass.ID);
}
}
为什么我已经在输出为什么静态块不能在调用对象中加载?
SUPER_ID
代替
In SubClass
SUPER_ID
子类将在对象的第一呼叫被加载。那么为什么
static
init块不能执行? 谢谢。
您还没有初始化'SubClass',你指的是'static'场(它'延伸Super')。 – Maroun
@MarounMaroun但如果我有包含'静态'常量的接口,我第一次调用时,我的接口加载到'JVM'中。有什么区别? –