代码语言:javascript复制
public class TestSuper02 {
public static void main(String[] args) {
System.out.println("开始创建一个ChildClass对象......");
new ChildClass();
}
}
class FatherClass {
public FatherClass() {
System.out.println("创建FatherClass");
}
}
class ChildClass extends FatherClass {
public ChildClass() {
System.out.println("创建ChildClass");
}
}
执行结果: 开始创建一个ChildClass对象… 创建FatherClass 创建ChildClass 要点: ①关于构造方法结合继承概念的调用,有如下的顺序,函数入口总是main,先执行System.out.println(“开始创建一个ChildClass对象…”)语句;然后我们调用了ChildClass这个类的构造方法,然后由于虽然在public ChildClass{}这个构造方法内并只写了System.out.println(“创建ChildClass”);但是其第一步必定执行super();于是去执行其父类FatherClass类的构造方法,同理,FatherClass类构造方法执行的时候又得先得执行默认的Object类的构造方法,不过其没有相应的语句输出。 ②总结执行顺序:构造方法第一句总是:super(…)来调用“此类的父类”对应的构造方法。所以,流程就是:先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。