super关键字和调用父类构造方法

表示父类对象的默认引用

如果子类要调用父类被覆盖的实例方法,可用super作为调用者调用父类被覆盖的实例方法。

使用super调用父类方法

使用super调用父类的构造方法

 

调用构造方法

本类中调用另一个重载构造方法用this(参数列表)

子类构造方法调用父类构造方法用super(参数列表)

子类调用父类的构造方法时:

super必须放在第一句

Java在执行子类的构造方法前会先调用父类无参的构造方法,其目的是为了对继承自父类的成员做初始化操作。

子类在创建对象的时候,默认调用父类的无参构造方法,要是子类构造方法中显示指定调用父类其他构造方法,就调用指定的父类构造方法,取消调用父类无参构造方法。

 

Eg:

package reviewDemo;

class A{
    String name;
    A(){
        System.out.println("父类默认隐式的构造方法!");
    }
    
    A(String name){
        System.out.println("父类显式的构造方法!");
    }
}

class B extends A{
    
    B(){
        super(null);
        System.out.println("子类默认隐式的构造方法!");
    }
}

public class Demo10 {
    public static void main(String[] args) {
        new B();
    }
}

猜你喜欢

转载自www.cnblogs.com/whu-2017/p/9226045.html