super 與this 的區別?

2021-07-25 04:07:02 字數 947 閱讀 2234

this():

當前類的物件,super父類物件。

super():

在子類訪問父類的成員和行為,必須受類繼承規則的約束

而this他代表當前物件

,當然所有的資源都可以訪問.

在建構函式中,如果第一行沒有寫

super(),

編譯器會自動插入

.但是如果父類沒有不帶引數的建構函式

,或這個函式被私有化了(用

private

修飾).

此時你必須加入對父類的例項化構造.

/**

* 父類

*@authoradministrator *

*/publicclasssueprclass

//必須定義乙個有引數的  當然如果不被繼承是不用定義的

sueprclass(inti) }

/**

* 子類

*@authoradministrator *

*/publicclasssonclassextendssueprclass

staticintk;

//當然也可以這樣 k必須是靜態的  不然會報錯  

sonclass() }

而this就沒有這個要求

,因為它本身就進行例項化的構造

.而在方法中super和

this

使用的方法就差不多了

.只不過

super

要考慮是否能訪問其父類的資源

.

this 與 super 的區別

問題是 我不僅僅要輸出區域性範圍的num,還要輸出本類成員範圍的num。怎麼辦呢?我還想要輸出父類成員範圍的num。怎麼辦呢?如果有乙個東西和this相似,但是可以直接訪問父類的資料就好了。恭喜你,這個關鍵字是存在的 super。this和super的區別?分別是什麼呢?this代表本類對應的引用。...

JAVA this與super的用法區別

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

Super的使用, this 與super

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