- 类初始化开始。最初
foo
为null,sFlag
为false - 第一个静态变量初始值设定项(
foo
)运行:Foo
创建了一个新实例- 用于
flag
执行的实例变量初始值设定项-当前sFlag
为false,因此值为flag
false
- 执行第二个静态变量初始化器(
sFlag
),将值设置为true - 类初始化完成
main
运行,打印出foo.flag
,这是错误的
请注意,如果
sFlag声明为
final,则将其视为 编译时常量
,此时,对其的所有引用基本上都将内联到
true,因此
foo.flag也是如此。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)