
属性/方法查找顺序(比如查找变量h)
- 查找当前类有没有属性h
- 依次上溯每个父类,查看每个父类是否有h,直到Object
- 如果没有找到,则出现编译错误
- 上面过程直到找到h变量,流程结束
构造方法调用顺序
构造方法的第一句:super(...)来调用父类对应的构造方法。所以,流程应该是:向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。
继承条件下构造方法的执行过程
csharp
package com.it.test;
public class TestSuper02 {
public static void main(String[] args) {
System.out.println("开始创建一个ChildClass对象");
new ChildClass01();
}
}
class FatherClass01 {
public FatherClass01 (){
System.out.println("创建FatherClass");
}
}
class ChildClass01 extends FatherClass01 {
public ChildClass01 () {
System.out.println("创建ChildClass");
}
}
结果:
