新聞中心
這篇文章給大家分享的是有關(guān)java中super關(guān)鍵字與this關(guān)鍵字的區(qū)別是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
首先我們先來(lái)介紹以下super關(guān)鍵字與this關(guān)鍵字:
一、this關(guān)鍵字
this是自身的一個(gè)對(duì)象,代表對(duì)象本身,可以理解為:指向?qū)ο蟊旧淼囊粋€(gè)指針。
this的用法在java中大體可以分為3種:
1、普通的直接引用
this相當(dāng)于是指向當(dāng)前對(duì)象本身。
2、形參與成員名字重名,用this來(lái)區(qū)分
3、引用本類的構(gòu)造函數(shù);
二、super關(guān)鍵字
super可以理解為是指向自己超(父)類對(duì)象的一個(gè)指針,而這個(gè)超類指的是離自己最近的一個(gè)父類。
super也有一下幾種用法:
1、普通的直接引用
與this類似,super相當(dāng)于是指向當(dāng)前對(duì)象的父類的引用,這樣就可以用super.xxx來(lái)引用父類的成員。
2、子類中的成員變量或方法與父類中的成員變量或方法同名時(shí),用super進(jìn)行區(qū)分
(視頻教程推薦:java課程)
區(qū)別:
一、指代不同
1、super:是當(dāng)前對(duì)象里面的父對(duì)象的引用。
2、this:指的是當(dāng)前對(duì)象的引用
二、調(diào)用函數(shù)不同
1、super:調(diào)用基類中的某一個(gè)構(gòu)造函數(shù)(應(yīng)該為構(gòu)造函數(shù)中的第一條語(yǔ)句)。
2、this:調(diào)用本類中另一種形成的構(gòu)造函數(shù)(應(yīng)該為構(gòu)造函數(shù)中的第一條語(yǔ)句)
三、引用對(duì)象不同
1、super:引用當(dāng)前對(duì)象的直接父類中的成員(用來(lái)訪問(wèn)直接父類中被隱藏的父類中成員數(shù)據(jù)或函數(shù),基類與派生類中有相同成員定義)格式:super.變量名 super.成員函數(shù)據(jù)名(實(shí)參)。
2、this:代表當(dāng)前對(duì)象名(在程序中易產(chǎn)生二義性之處,應(yīng)使用this來(lái)指明當(dāng)前對(duì)象;如果函數(shù)的形參與類中的成員數(shù)據(jù)同名,出于防止被隱藏的需求,這時(shí)需用this來(lái)指明成員變量名)。
感謝各位的閱讀!關(guān)于java中super關(guān)鍵字與this關(guān)鍵字的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
新聞名稱:java中super關(guān)鍵字與this關(guān)鍵字的區(qū)別是什么-創(chuàng)新互聯(lián)
文章URL:http://fisionsoft.com.cn/article/dhgios.html