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

求大神解答

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入门第二季 升级版
  • 参与学习       530696    人
  • 解答问题       6091    个

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

进入课程

求大神解答

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