以静态方式创建对象

以静态方式创建对象,第1张

静态方式创建对象
  • 初始化开始。最初
    foo
    为null,
    sFlag
    为false
  • 第一个静态变量初始值设定项(
    foo
    )运行:
    • Foo
      创建了一个新实例
    • 用于
      flag
      执行的实例变量初始值设定项-当前
      sFlag
      为false,因此值为
      flag
      false
  • 执行第二个静态变量初始化器(
    sFlag
    ),将值设置为true
  • 类初始化完成
  • main
    运行,打印出
    foo.flag
    ,这是错误的

请注意,如果

sFlag
声明为
final
,则将其视为 编译时常量
,此时,对其的所有引用基本上都将内联到
true
,因此
foo.flag
也是如此。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5601222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存