java构造器的继承

    如果一个类有2个构造器,其中一个有参数,一个无参数,其子类继承时,若显示的使用super 关键字,super 可以带参数,也可以不带参数,对应会调用相应的父类构造器,如果子类构造器中没有显示地使用super 则系统默认调用无参数构造器。

ep:

class SuperClass {
  private int n;
  SuperClass(){
    System.out.println("SuperClass()");
  }
  SuperClass(int n) {
    System.out.println("SuperClass(int n)");
    this.n = n;
  }
}
class SubClass extends SuperClass{
  private int n;
  
  SubClass(){
    super(300);
    System.out.println("SubClass");
  }  
  
  public SubClass(int n){
    System.out.println("SubClass(int n):"+n);
    this.n = n;
  }
}
public class TestSuperSub{
  public static void main (String args[]){
    SubClass sc = new SubClass();
    SubClass sc2 = new SubClass(200); 
  }
}

输出结果为:

SuperClass(int n)
SubClass
SuperClass()
SubClass(int n):200



你可能感兴趣的:(JAVA)