5
Java中的静态块未执行
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访问修饰符而无法加载该类,那么该变量如何获取内存?