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

初始化块问题

最后一行代码是再次创建对象,能理解不再执行静态初始化块,(即整个程序只执行一次)也明白构造方法会被再执行一次,(及整个程序执行两次)但是为什么初始化块也会再执行一次(即为什么初始化块整个会执行两次?)?初始化块不在构造方法里啊,为什么最后初始化块会执行两次?

正在回答

2 回答

初始化块作为每个对象的一部分,而不是类的一部分(除非是静态代码块);

因此,每创建一个对象的时候,都会走一次初始化块;

2 回复 有任何疑惑可以回复我~

每次创建对象Jvm都会编译一次,而静态代码块Jvm只会编译一次,初始化代码块每次Jvm编译都会执行的。这个也解释了为什么第二次创建对象初始化代码块会再次执行哦,可以看下Jvm的运行机制,加深理解

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530631    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

初始化块问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信