Java中this和super的使用
區別
區別點 | this | super |
訪問屬性 | 訪問本類中的屬性,如果本類沒有,則從父類繼續查找 | 訪問父類中的屬性 |
調用方法 | 訪問本類中的方法,如果本類沒有,則從父類繼續查找 | 直接訪問父類的方法 |
調用構造器 | 訪問本類的構造器,如果本類沒有,則從父類繼續查找 | 調用父類構造器必須放在自類構造器的首行 |
特殊 | 表示當前對象 | 子類中訪問父類對象 |
this
- this關鍵字可以用來訪問本類的屬性、方法、構造器
- this用來區分當前類的屬性和局部變量
- 訪問成員方法的語法:this.方法名()
- 訪問構造器語法:this(參數列表) 說明:只能在構造器訪問另外一個構造器,this()調用構造器是,必須放在構造器的第一句
- this不能在類定義的外部使用,只能在類定義的方法中使用
- 簡單一句話總結:this是哪個對象調用的,this就代表哪個對象
super
- super代表父類的引用,用於訪問父類的屬性、方法、構造器
- 訪問父類的屬性:super.屬性 ,但不能訪問父類私有的屬性
- 訪問父類的方法:super.方法名() 不能訪問父類的私有的方法
- 訪問父類的構造器:super(參數列表) 只能放在構造器的第一句
- 當子類有父類中的成員指屬性和方法重寫了,為了訪問父類的成員,必須通過super,如果沒有重寫,使用super、this訪問效果一樣