这篇文章主要讲解Java在创建对象的时候,初始化的顺序.主要从以下几个例子中讲解: 继承关系中初始化顺序 初始化块与构造器的顺序 已经加载过的类的初始化顺序 加载父类,会不会加载子类 创建子类对象会不会创建父类对象 例子1--继承关系中初始化顺序 先看简单的情况,看下面的例子: public class Father { public String fatherVar = "父类构造块初始化"; public static int fatherStaticVar; public int…
先看一个demo,然后进行归纳. class X{ static M m=new M(); Y y=new Y(); public X(){ System.out.print("X"); } } class Y{ public Y(){ System.out.print("Y"); } } class M{ public M(){ System.out.print("M"); } } class N{ public N(){ System.out…
类初始化时构造函数调用顺序: (1)初始化对象的存储空间为零或null值: (2)调用父类构造函数: (3)按顺序分别调用类成员变量和实例成员变量的初始化表达式: (4)调用本身构造函数. 例子:public class Dollar extends Money{ Rmb r=new Rmb() public Dollar(){ System.out.println("Dollar is construct!"); } public st…