Java 回顾笔记_对象初始化过程

两个例子:

Java 回顾笔记_对象初始化过程_第1张图片

第二个例子:

Java 回顾笔记_对象初始化过程_第2张图片

也就是说当我们运行子类的构造函数的时候:

第一步先运行super();也就是说运行父类的构造函数

第二步运行完父类的构造函数中的 super();

第三步运行父类的显示初始化(就是赋值操作int num=9;)

第四步运行父类的构造代码块

第五步运行父类构造函数中的show();但是我们创建的是子类的对象,所以发现该方法被重写,所以运行子类的show()方法。但是此时子类的num还没有显示初始化,只有默认初始化为0;

第六步运行完子类的super();

第七步显示初始化

第八步构造代码块

第九步子类的show();

你可能感兴趣的:(java)