我写的
父类的静态成员,静态初始化快 (根据代码的书写顺序)
子类的静态成员,静态初始化快 (根据代码的书写顺序)
父类的实例成员,实例初始化快 (根据代码的书写顺序)
父类的构造器
子类的实例成员,实例初始化快 (根据代码的书写顺序)
子类的构造器
网络搜的
1父类的静态初始化域,
2子类的静态初始化域,
3父类的非静态初始化域,
4父类的构造函数,
5子类的非静态初始化域,
6子类的构造函数
老师讲的:子类的实例化过程:
1、子类的构造方法(不执行语句,判断先走哪)
2、父类的构造方法(不执行语句,判断先走哪)
默认初始化属性
显示初始化属性/代码块初始化属性
构造方法开始执行代码
父类构造结束
3、子类构造方法(不执行语句,判断先走哪)
默认初始化属性
显示初始化属性/代码块初始化属性
构造方法开始执行代码
子类构造结束
对象实例化顺序:
1、构造方法(不执行语句,只是表明我要创建实例对象了!)
2、属性默认初始化
3、静态显示初始化>静态代码块
根据定义先后顺序决定,一般静态构造代码块写在属性后边。所以一般认为静态显示初始化在静态构造代码块之前。
4、显示初始化>构造代码块:
根据定义先后顺序决定,一般构造代码块写在属性后边。所以一般认为显示初始化在构造代码块之前。
5、构造方法(构造方法的内容)
|
|