Java super關鍵字詳解
阿新 • • 發佈:2019-02-06
一.super關鍵字作用
1:主要存在於子類方法中,用於指向子類物件中父類物件。
2:訪問父類的屬性
3:訪問父類的函式
4:訪問父類的建構函式
二.super注意的地方this和super很像,this指向的是當前物件的呼叫,super指向的是當前呼叫物件的父類。類載入完畢,建立物件,父類的構造方法會被呼叫(預設自動無參),然後執行子類相應構造建立了一個子類物件,該子類物件還包含了一個父類物件。該父類物件在子類物件內部。this super只能在有物件的前提下使用,不能在靜態上下文使用。
三.super關鍵字的使用
1.子類的建構函式預設第一行會預設呼叫父類無參的建構函式,隱式語句
super();
Son(int y) {
//super();隱式語句
this.y = y + x;
System.out.println("這是子類的有參構造");
}
2.子類顯式呼叫父類建構函式
在子類建構函式第一行通過super關鍵字呼叫父類任何建構函式。如果顯式呼叫父類建構函式,編譯器自動新增的呼叫父類無引數的構造就消失。建構函式間的呼叫只能放在第一行,只能呼叫一次。super()和this()不能同時存在建構函式第一行。
四.super思考Son(int y) { super(y);// 子類顯式呼叫父類建構函式 this.y = y + x; System.out.println("這是子類的有參構造"); }
如果開發者自定義了一個類,沒有顯示的進行類的繼承,那麼該類中成員函式是否可以使用super關健健字?可以使用,繼承了Object類,Object類是所有類的父類。
class Demo7 {
public void print(){
System.out.println(super.toString());
}
public static void main(String[] args){
new Demo7().print();
System.out.println();
}
}