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

Static输出问题

5736be9c0001cb8003530223.jpg

5736be9c0001fdd505000375.jpg

为什么先输出 通过初始化块赋值num2  在输出通过初始化块赋值num1

正在回答

2 回答

这设计到java中的优先级、static 有优先级的、

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

流逝的回忆已成空白

程序首先先初始化、
2016-05-16 回复 有任何疑惑可以回复我~
#2

倒数三秒就能见到我 提问者

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

首先你创建了类的对象hello后,就会按顺序(先执行静态化初始化块,再初始化块,最后构造方法)执行一边,然后依次执行你的输出语句命令,也就是 num1:91; num2:74;num3:83。 最后有创建了一个了的对象hello2,所以又要和前面一样按顺序(先执行静态化初始化块,再初始化块,最后构造方法)执行,但是静态初始化块只能执行一边,所以不再执行了,因此是 先执行初始化块,再执行构造方法。  

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

举报

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

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

进入课程

Static输出问题

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