未调用静态块
谁能解释发生了什么?
public class MagicFinal {
public static void main(String[] args) {
System.out.println(A.s);
}
}
class A {
static {
System.out.println("class has been loaded");
}
public static final String s = "final";
public static final Integer i = 3;
}
安慰:
最后
这是什么?我不明白为什么类没有被加载,我知道类总是在第一次调用时加载。字段在字符串池中,我看到最终的修饰符是魔术。s
如果我删除最终修饰符( ) 我会得到public static String s = "final"
安慰:
类已装入
最后
注意:我已经更改了字段:并在控制台中显示它。我得到了与字符串中相同的情况。为什么?i
public static final int i = 3;