首頁  >  文章  >  Java  >  java中的super關鍵字與this關鍵字有什麼差別

java中的super關鍵字與this關鍵字有什麼差別

王林
王林轉載
2020-08-31 16:40:012949瀏覽

java中的super關鍵字與this關鍵字有什麼差別

首先我們先介紹以下super關鍵字與this關鍵字:

(推薦教學:java入門教學

一、this關鍵字

this是自身的一個對象,代表對象本身,可以理解為:指向對象本身的一個指針。

this的用法在java中大體可以分為3種:

1、普通的直接引用

this相當於是指向目前物件本身。

2、形參與成員名字重名,用this來區分

3、引用本類別的建構子;

二、super關鍵字

#super可以理解為是指向自己超(父)類別物件的一個指針,而這個超類別指的是離自己最近的一個父類別。

super也有幾個用法:

1、普通的直接引用

#與this類似,super相當於是指向目前物件的父類別的引用,這樣就可以用super.xxx來引用父類別的成員。

2、子類別中的成員變數或方法與父類別中的成員變數或方法同名時,用super進行區分

(影片教學建議:java課程

區別:

一、指涉不同

1、super:是目前物件裡面的父物件的參考。

2、this:指的是當前物件的參考

二、呼叫函數不同

1、super:呼叫基底類別中的某一個建構子(應該為構造函數中的第一條語句)。

2、this:呼叫本類中另一種形成的建構子(應該為建構子中的第一條語句)

三、引用物件不同

# 1、super:引用目前物件的直接父類別中的成員(用來存取直接父類別中被隱藏的父類別中成員資料或函數,基底類別與衍生類別中有相同成員定義)格式:super.變數名super.成員函資料名(實參)。

2、this:代表目前物件名稱(在程式中易產生二義性之處,應使用this來指明當前物件;如果函數的形參與類別中的成員資料同名,出於防止被隱藏的需求,這時需用this來指明成員變數名)。

以上是java中的super關鍵字與this關鍵字有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除