第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)下在java中的super()是什么?

請(qǐng)問(wèn)下在java中的super()是什么?

慕勒3428872 2022-04-15 10:11:29
是不是什么類中的方法在創(chuàng)建窗口中使用的super
查看完整描述

3 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

要說(shuō)super就先要說(shuō)this。
"this",作為一個(gè)特殊的關(guān)鍵字,它的規(guī)則如下:
1??梢员硎緲?gòu)造函數(shù)傳遞。this(a,b)表示調(diào)用另外一個(gè)構(gòu)造函數(shù)。這里面的this就是一個(gè)特殊語(yǔ)法,不是變量,沒(méi)有什么類型。
2??梢栽谝粋€(gè)類的非static成員內(nèi)部使用,表示當(dāng)前這個(gè)對(duì)象。此時(shí),this就是一個(gè)final的普通變量,它有靜態(tài)類型,就是這個(gè)類C本身;它有動(dòng)態(tài)類型,就是當(dāng)前這個(gè)對(duì)象的類型。你可以對(duì)它調(diào)用成員函數(shù),把它傳遞給別的函數(shù),等等等等。只要一個(gè)C類型的final變量可以出現(xiàn)的地方,它就可以出現(xiàn)。

"super"。它和"this"類似,但是也有不同的地方。
1。表示調(diào)用父類的構(gòu)造函數(shù)。也是一個(gè)特殊語(yǔ)法,不是變量,沒(méi)有什么類型。

2??梢栽谝粋€(gè)類的非static成員內(nèi)部使用。比如super.method()。
但是,注意,這個(gè)super.method()只是長(zhǎng)得跟some_var.method()一樣,一個(gè)語(yǔ)法糖而已。實(shí)質(zhì)上,"super"根本不是一個(gè)變量。

為什么不是?因?yàn)槿绻蔷蛪牧?。java里面有一個(gè)金科玉律:任何public非static函數(shù)的調(diào)用都是多態(tài)的。
所以,如果super是個(gè)變量,也指向當(dāng)前對(duì)象,那么,不管super的靜態(tài)類型是什么super.method()必然調(diào)用的是子類的那個(gè)版本,而不會(huì)是我們期望的,靜態(tài)地選擇父類的那個(gè)版本。

所以,你只要把super.xxx看成一個(gè)特殊的語(yǔ)法,比如理解為“super::xxx”就好了。

既然super不是一個(gè)變量,那么不能把它象一個(gè)普通變量那樣"==",或者傳遞給某個(gè)函數(shù)就看起來(lái)很正常了,是么?何況,你其實(shí)也用不著它,有this你這些要求就都可以辦到了。

3。super的另外一個(gè)作用是調(diào)用父類的protected函數(shù)。只有通過(guò)"super"這個(gè)魔咒,我們才能操作父類的protected成員,別無(wú)它法。



查看完整回答
反對(duì) 回復(fù) 2022-04-19
?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

1)super(參數(shù)):調(diào)用基類中的某一個(gè)構(gòu)造函數(shù)(應(yīng)該為構(gòu)造函數(shù)中的第一條語(yǔ)句)
2)this(參數(shù)):調(diào)用本類中另一種形成的構(gòu)造函數(shù)(應(yīng)該為構(gòu)造函數(shù)中的第一條語(yǔ)句)
3)super: 它引用當(dāng)前對(duì)象的直接父類中的成員(用來(lái)訪問(wèn)直接父類中被隱藏的父類中成員數(shù)據(jù)或函數(shù),基類與派生類中有相同成員定義時(shí)如:super.變量名 super.成員函數(shù)據(jù)名(實(shí)參)
4)this:它代表當(dāng)前對(duì)象名(在程序中易產(chǎn)生二義性之處,應(yīng)使用this來(lái)指明當(dāng)前對(duì)象;如果函數(shù)的形參與類中的成員數(shù)據(jù)同名,這時(shí)需用this來(lái)指明成員變量名)

5)調(diào)用super()必須寫在子類構(gòu)造方法的第一行,否則編譯不通過(guò)。每個(gè)子類構(gòu)造方法的第一條語(yǔ)句,都是隱含地調(diào)用super(),如果父類沒(méi)有這種形式的構(gòu)造函數(shù),那么在編譯的時(shí)候就會(huì)報(bào)錯(cuò)。
   6)super()和this()類似,區(qū)別是,super()從子類中調(diào)用父類的構(gòu)造方法,this()在同一類內(nèi)調(diào)用其它方法。
   7)super()和this()均需放在構(gòu)造方法內(nèi)第一行。
   8)盡管可以用this調(diào)用一個(gè)構(gòu)造器,但卻不能調(diào)用兩個(gè)。
   9)this和super不能同時(shí)出現(xiàn)在一個(gè)構(gòu)造函數(shù)里面,因?yàn)閠his必然會(huì)調(diào)用其它的構(gòu)造函數(shù),其它的構(gòu)造函數(shù)必然也會(huì)有super語(yǔ)句的存在,所以在同一個(gè)構(gòu)造函數(shù)里面有相同的語(yǔ)句,就失去了語(yǔ)句的意義,編譯器也不會(huì)通過(guò)。
   10)this()和super()都指的是對(duì)象,所以,均不可以在static環(huán)境中使用。包括:static變量,static方法,static語(yǔ)句塊。
   11)從本質(zhì)上講,this是一個(gè)指向本對(duì)象的指針, 然而super是一個(gè)Java關(guān)鍵字


查看完整回答
反對(duì) 回復(fù) 2022-04-19
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

?super關(guān)鍵字也有兩種意義:–調(diào)用父類的方法–調(diào)用父類的構(gòu)造器?但是,super并不表示一個(gè)指向?qū)ο蟮囊?,它只是一個(gè)特殊的關(guān)鍵字,用來(lái)告訴編譯器,現(xiàn)在要調(diào)用的是父類的方法。

查看完整回答
反對(duì) 回復(fù) 2022-04-19
  • 3 回答
  • 0 關(guān)注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)