欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于继承构造器的调用

程序员文章站 2022-05-14 09:33:43
...

知识点:
1.子类构造器默认第一行super()调用父类构造器
2.this()与super()都只能存在第一行 一山不容二虎

public class Person {
    public Person(){
        this("123");   //调用当前类有参构造器
        System.out.println("父类无参构造器");
    }
    public Person(String name){
        System.out.println("父类有参构造器");
    }

    public static void main(String[] args) {
        ChinaPerson ppp = new ChinaPerson();
    }
}
public class ChinaPerson extends Person{
    public ChinaPerson(){
//      super();   默认调用父类构造器不显示
        System.out.println("子类无参构造器");
    }
    public ChinaPerson(int i){
//      super();   默认调用父类构造器不显示
        System.out.println("子类有参构造器");
    }
}

输出:

父类有参构造器
父类无参构造器
子类无参构造器