未执行 Java 中的静态块
2022-08-31 11:31:47
class Test {
public static void main(String arg[]) {
System.out.println("**MAIN METHOD");
System.out.println(Mno.VAL); // SOP(9090);
System.out.println(Mno.VAL + 100); // SOP(9190);
}
}
class Mno {
final static int VAL = 9090;
static {
System.out.println("**STATIC BLOCK OF Mno\t: " + VAL);
}
}
我知道在类加载时执行了一个块。但是在这种情况下,类内的实例变量是 ,因为块没有执行。static
Mno
final
static
为什么会这样?如果我删除 ,它会正常工作吗?final
将首先分配哪个内存,变量还是块?static final
static
如果由于访问修饰符导致类未加载,那么变量如何获取内存?final