首页 > 代码库 > (原)Java初始化过程
(原)Java初始化过程
先看一个demo,然后进行归纳。
1 class X{ 2 static M m=new M(); 3 Y y=new Y(); 4 public X(){ 5 System.out.print("X"); 6 } 7 } 8 class Y{ 9 public Y(){10 System.out.print("Y");11 }12 }13 14 class M{15 public M(){16 System.out.print("M");17 }18 }19 20 class N{21 public N(){22 System.out.print("N");23 }24 }25 26 public class Z extends X{27 static N n=new N();28 Y y=new Y();29 public Z(){30 System.out.print("Z");31 }32 public static void main(String[] args) {33 new Z();34 }35 }
通过单步调试及查阅相关资料可对Java初始化归纳出以下结论:
1、初始化父类中的静态成员变量和静态代码块。
2、初始化子类中的静态成员变量和静态代码块。
3、初始化父类的普通成员变量和代码块,再执行父类的构造方法。
4、初始化子类的普通成员变量和代码块,再执行子类的构造方法。
(原)Java初始化过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。