课程
/后端开发
/Java
/Java入门第二季 升级版
看运行结果是先 num2 再是 num1
所以是从后往前运行的?http://img1.sycdn.imooc.com//53941e880001cb8003530223.jpg
2017-08-27
源自:Java入门第二季 升级版 8-10
正在回答
Java程序的初始化一般遵循三个原则(优先级依次递减):1.静态对象(变量)优于非静态变量(对象)初始化,其中静态变量(对象)只初始化一次,非静态变量(对象)可能会初始化很多次。2.父类优先于子类进行初始化。3.按照成员变量的定义顺序进行初始化,即使变量定义散布于方法定义之中,它依然在任何方法(包括构造方法)被调用之前先初始化。
代码块完成初始化的顺序是:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类 构造方法、子类非静态变量、子类非静态代码块、子类构造方法。
慕粉1472468709 提问者
qq_步行者_8
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答对静态初始化块和普通初始化块的运行问题。
3 回答普通初始化块
2 回答普通方法、普通方法的初始化和普通初始化块,三者相同吗?
5 回答为什么非静态初始化块是按从后往前的顺序进行的?
1 回答为什么前三行输出的是按照通过初始化。。。。。num3,通过初始化。。。。num2,通过初始化。。。。num1的顺序而不是翻过来,倒数两行没输出通过初始化num3那行
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号