为了账号安全,请及时绑定邮箱和手机立即绑定

何时初始化静态变量?

何时初始化静态变量?

炎炎设计 2019-08-01 15:08:53
何时初始化静态变量?我想知道什么时候静态变量初始化为默认值。是否正确加载类时,会创建(分配)静态变量,然后执行声明中的静态初始化和初始化?在什么时候给出默认值?这导致了前向参考的问题。另外请您解释一下这个问题,为什么静态字段没有及时初始化?特别是Kevin Brock在同一网站上给出的答案。我无法理解第三点。
查看完整描述

3 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

看到:

最后一个特别提供了详细的初始化步骤,这些步骤在静态变量初始化时说明,并按什么顺序(需要注意的final是首先初始化编译时常量的类变量和接口字段。)

我不确定你对第3点的具体问题(假设你的意思是嵌套的?)是。详细的序列表明这将是一个递归初始化请求,因此它将继续初始化。


查看完整回答
反对 回复 2019-08-01
?
暮色呼如

TA贡献1853条经验 获得超9个赞

初始化的顺序是:

  1. 静态初始化块

  2. 实例初始化块

  3. 构造函数

JVM 规范文档中解释了该过程的详细信息。


查看完整回答
反对 回复 2019-08-01
  • 3 回答
  • 0 关注
  • 798 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信