1. 程式人生 > >Java super關鍵字詳解

Java super關鍵字詳解

一.super關鍵字作用

1:主要存在於子類方法中,用於指向子類物件中父類物件。

2:訪問父類的屬性

3:訪問父類的函式

4:訪問父類的建構函式

二.super注意的地方

thissuper很像,this指向的是當前物件的呼叫,super指向的是當前呼叫物件的父類。類載入完畢,建立物件,父類的構造方法會被呼叫(預設自動無參),然後執行子類相應構造建立了一個子類物件,該子類物件還包含了一個父類物件。該父類物件在子類物件內部。this super只能在有物件的前提下使用,不能在靜態上下文使用。

三.super關鍵字的使用

1.子類的建構函式預設第一行會預設呼叫父類無參的建構函式,隱式語句

super();

Son(int y) {
		//super();隱式語句
		this.y = y + x;
		System.out.println("這是子類的有參構造");
	}

2.子類顯式呼叫父類建構函式

在子類建構函式第一行通過super關鍵字呼叫父類任何建構函式。如果顯式呼叫父類建構函式,編譯器自動新增的呼叫父類無引數的構造就消失。建構函式間的呼叫只能放在第一行,只能呼叫一次。super()this()不能同時存在建構函式第一行。

Son(int y) {
		super(y);// 子類顯式呼叫父類建構函式
		this.y = y + x;
		System.out.println("這是子類的有參構造");
	}
四.super思考

如果開發者自定義了一個類,沒有顯示的進行類的繼承,那麼該類中成員函式是否可以使用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();
     	}
}