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

普通初始化快怎么是从后往前运行的

看运行结果是先  num2  再是 num1 

所以是从后往前运行的?http://img1.sycdn.imooc.com//53941e880001cb8003530223.jpg

正在回答

1 回答

Java程序的初始化一般遵循三个原则(优先级依次递减):1.静态对象(变量)优于非静态变量(对象)初始化,其中静态变量(对象)只初始化一次,非静态变量(对象)可能会初始化很多次。2.父类优先于子类进行初始化。3.按照成员变量的定义顺序进行初始化,即使变量定义散布于方法定义之中,它依然在任何方法(包括构造方法)被调用之前先初始化。

代码块完成初始化的顺序是:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类 构造方法、子类非静态变量、子类非静态代码块、子类构造方法。

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

慕粉1472468709 提问者

那按照定义顺序 不应该是 先num1在num2么
2017-08-28 回复 有任何疑惑可以回复我~
#2

qq_步行者_8

你看下代码块的顺序,写的很清楚,还有就是静态代码块优先于普通代码块,普通代码块优先于构造方法
2017-08-28 回复 有任何疑惑可以回复我~
#3

慕粉1472468709 提问者

非常感谢!
2017-08-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

普通初始化快怎么是从后往前运行的

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

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

帮助反馈 APP下载

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

公众号

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