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

求大神解答

http://img1.sycdn.imooc.com//56f6817d000111ed07330607.jpg

为什么执行之后会出现

先运行System.out.println("num2"+hello.num2)这句

而不是从上面第一句输出运行?

正在回答

5 回答

程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。

1 回复 有任何疑惑可以回复我~
#1

Zkjia 提问者

非常感谢!
2016-03-27 回复 有任何疑惑可以回复我~

运行时先执行静态初始化块,再执行普通初始化块,最后才执行构造方法

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

练习加实践

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

楼上正解,顺序不同是因为优先度不同,而不是按照从上到下的顺序

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

程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.

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

举报

0/150
提交
取消
Java入门第二季
  • 参与学习       531255    人
  • 解答问题       6327    个

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

进入课程

求大神解答

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号