父类构造函数——子类构造函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22339457/article/details/82527711

1.子类可以通过super关键字来显式地调用父类的构造函数。

2.当父类没有提供无参数的构造函数时,子类也不可以有无参构造函数,且子类的构造函数中必须显式的调用父类的构造函数;

3.如果父类提供了无参数的构造函数,此时子类的构造函数就可以不显式的调用父类的构造函数,默认调用父类的无参构造函数。
4.只要父类有无参构造函数,子类不写构造函数或者不调用super(..)方法,则默认调用父类的无参构造函数
5.父类没有无参构造函数,则子类必须定义有参构造函数(且必须调用super(*))。

public class demo_fuzi {

    public static void main(String[] args) {
        B b = new B("1",2);
        B.getName();
    }
}
class A{
    public A(int i) {
        System.out.println("A:有参");
    }
    
    /*public A() {
        System.out.println("A");
    }*/
    
    public static void getName(){
        System.out.println("B:getName");
    }
}
class B extends A{
    public B(String i,int j) {
        super(j);
        System.out.println("B");
    }
    
    /*public B() {
        System.out.println("B");
    }*/
    
    public static void getName(){
        System.out.println("B:getName");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_22339457/article/details/82527711