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

请问代码是如何执行的,其运行顺序是?

571ed3b60001fdd505000375.jpg

571ed3bf0001cb8003530223.jpg

求教以上代码程序的运行过程

正在回答

1 回答

执行hello时,先执行静态初始化块static,然后执行初始化块,最后执行普通的构造方法,所以输出了前三行;

接下来三个println依次输出四五六行;

最后的hello2,依次执行初始化块与普通构造方法。

至于hello2为什么不执行静态初始化块(也就是为什么输出比hello少了num3),因为静态初始化块static只执行一次。

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

黄烨颜 提问者

main中"HelloWorld hello=new HelloWorld()"为创建hello对象 为何会执行静态初始化块,初始化块及构造方法?
2016-04-26 回复 有任何疑惑可以回复我~
#2

玩世明少 回复 黄烨颜 提问者

以HelloWorld的类去创建hello对象,就会将HelloWorld都先执行一遍,包括创建变量num1,num2,num3以及构造方法和执行初始化块
2016-04-26 回复 有任何疑惑可以回复我~
#3

黄烨颜 提问者 回复 玩世明少

谢过!
2016-04-27 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请问代码是如何执行的,其运行顺序是?

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