java解惑你知多少(五) //?0??
为什么第二个输出是0而不是2呢?这就是因为VM是严格按照你声明的顺序来初始化静态域的,所以前面的引用后面的
静态域时,基本类型就是0,引用类型就会是null。
?
所以要记住:静态域,甚至是final类型的静态域,可能会在它们被初始化之前,被读走其缺省值。
另,类初始化规则请参考《惰性初始化》一节