返回博主主页

java父类、子类构造函数调用过程

java父类、子类构造函数调用过程
由此看出java类初始化时构造函数调用顺序:

  1. 初始化对象的存储空间为零或null值;
  2. 按顺序分别调用父类成员变量和实例成员变量的初始化表达式;
  3. 调用父类构造函数;(如果实用super()方法指定具体的某个父类构造函数则使用指定的那个父类构造函数)
  4. 按顺序分别调用类成员变量和实例成员变量的初始化表达式;
  5. 调用类本身构造函数。

//先执行外部类构造方法,再执行内部类构造方法

Java实例化顺序

1.初始化父类静态变量,如果没有赋值,默认初始化为null

2.调用父类 static{} 静态代码块

3.初始化子类静态变量

4.调用子类 static{} 静态代码块

5.初始化父类成员变量,如果没有赋值,默认初始化为null (此时this指针已经存在了)

6.调用父类 成员代码块 {}

7.调用父类构造函数(如果没有显示调用父类构造函数则调用默认构造函数)

8.初始化子类成员变量

9.调用子类成员代码块 {}

10.调用子类构造函数

以上 1 - 4 步只有在类首次被加载的时候执行,之后就不执行了

posted @ 2024-09-13 15:52  懒惰的星期六  阅读(12)  评论(0编辑  收藏  举报

Welcome to here

主页