this 與 super 的區別

2021-07-15 11:57:31 字數 586 閱讀 6748

/*

問題是:

我不僅僅要輸出區域性範圍的num,還要輸出本類成員範圍的num。怎麼辦呢?

我還想要輸出父類成員範圍的num。怎麼辦呢?

如果有乙個東西和this相似,但是可以直接訪問父類的資料就好了。

恭喜你,這個關鍵字是存在的:super。

this和super的區別?

分別是什麼呢?

this代表本類對應的引用。

super代表父類儲存空間的標識(可以理解為父類引用,可以操作父類的成員)

怎麼用呢?

a:呼叫成員變數

this.成員變數 呼叫本類的成員變數

super.成員變數 呼叫父類的成員變數

b:呼叫構造方法

this(...) 呼叫本類的構造方法

super(...) 呼叫父類的構造方法

c:呼叫成員方法

this.成員方法 呼叫本類的成員方法

super.成員方法 呼叫父類的成員方法

*/class father

class son extends father

}class extendsdemo5

}

super 與this 的區別?

this 當前類的物件,super父類物件。super 在子類訪問父類的成員和行為,必須受類繼承規則的約束 而this他代表當前物件 當然所有的資源都可以訪問.在建構函式中,如果第一行沒有寫 super 編譯器會自動插入 但是如果父類沒有不帶引數的建構函式 或這個函式被私有化了 用 private ...

JAVA this與super的用法區別

1 super 引數 呼叫基類中的某乙個建構函式 應該為建構函式中的第一條語句 2 this 引數 呼叫本類中另一種形成的建構函式 應該為建構函式中的第一條語句 3 super 它引用當前物件的直接父類中的成員 用來訪問直接父類中被隱藏的父類中成員資料或函式,基類與派生類中有相同成員定義時如 sup...

Super的使用, this 與super

super 關鍵字可在子類中訪問父類的方法,也可以訪問父類的屬性 其實和this關鍵字聯絡起來對比理解就明白了 乙個三層結構的例子 b繼承a,那麼在例項化b的時候,a和b哪個構造方法先執行呢?結果 先執行a的構造方法,然後才執行b的構造方法,因為有了父類才會有子類 在jvm的物理結構 在堆中 先構造...