作者:不如藏拙_487 | 来源:互联网 | 2023-10-13 17:45
Java学习:关于一个构造方法中this()和super()的执行顺序?publicclassFather{privateStringname;privateint
Java学习:关于一个构造方法中this()和super()的执行顺序? public class Father { private String name; private int age;
public Father() {System.out.println("father()"); }
}
public class Son extends Father { private int height;
public Son(){System.out.println("son()"); }public Son(int height){
// this(); this.height = height; }
public static void main(String[] args) {Son s = new Son(100);}
} 首先需要明确,在同一个构造方法中不能同时调用this()和super(),这两个方法都需要写在构造方法的第一行。 关于调用顺序,我们可以直接通过代码进行验证,Son继承了Father类, 当不使用this()时,控制台直接打印出: father() 使用this()后,控制台打印出: father() son() 说明不管怎么调用,都会先调用父类的构造方法创建父类的对象。