this和super的區別

2021-10-03 04:45:26 字數 643 閱讀 4557

先講this和super的作用

this:表示本類屬性、表示本類方法和當前物件,俏皮的說是自己用的

super:呼叫父類的構造方法,俏皮的說是爸爸專用

1.this:每個類的每個非靜態方法(沒有被static修飾)都會隱含乙個this關鍵字,它指向呼叫這個方法的物件;當在方法中使用本類屬性時,都會隱含地使用this關鍵字,當然也可以明確使用。

三種用法:

一:普通的直接引用、

二:參與成員名字重名的時候,用 this 來區分、

三:引用建構函式(引用建構函式的時候要放在函式第一行)

2.super: 可以理解為是指向自己超(父)類物件的乙個指標,而這個超類指的是離自己最近的乙個父類(親生爸爸)。

super也有三種用法:

普通的直接引用、與 this 類似,super 相當於是指向當前物件的父類,這樣就可以用super.***來引用父類的成員。

子類中的成員變數或方法與父類中的成員變數或方法同名,呼叫父類的方法

而且是兩者都有的屬性、引用建構函式

兩者的異同

super和this的區別

super 範圍 從子類找到父類中內容 屬性 直接找到父類中指定的屬性,不在子類中找 方法 直接呼叫父類的方法 構造方法 在子類構造方法的首行呼叫,表示呼叫父類的構造方法,子類中至少有乙個構造方法可以呼叫父類構造方法 this 範圍 直接找本來中的內容 屬性 如果在本類中找到了屬性,則使用本類的屬性...

this和super的區別

我不僅僅要輸出區域性範圍內的num,還要輸出成員範圍的num,怎麼辦?還要輸出父類成員範圍的num?this 和 super 的區別?this代表本類對應的引用 super代表父類儲存空間的標識 可以理解為父類引用 怎麼用?this.成員變數 呼叫本類的成員變數 super.成員變數 呼叫父類的成員...

this()和super()的區別

this是自身的乙個物件,代表物件本身,用法大致分為以下3類 1 普通直接引用當前物件本身 2 形參和成員名重名,用this來區分 3 引用構造方法 this 引數 應該為建構函式中的第一條語句,呼叫的事1本類中另外一種形式的構造方法。public class demo public static ...