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