Java private方法覆蓋和重載是什么意思?

Java private方法覆蓋和重載是什么意思?

長(zhǎng)沙中公優(yōu)就業(yè)      2022-04-22 01:28:01     15

Java private方法覆蓋和重載是什么意思?,方法重寫(xiě)的原則:重寫(xiě)方法的方法名稱(chēng)、參數(shù)列表必須與原方法的相同,返回類(lèi)型可以相同也可以是原類(lèi)型的子類(lèi)型(從Java SE5開(kāi)始支

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

方法重寫(xiě)的原則:

重寫(xiě)方法的方法名稱(chēng)、參數(shù)列表必須與原方法的相同,返回類(lèi)型可以相同也可以是原類(lèi)型的子類(lèi)型(從Java SE5開(kāi)始支持)。

重寫(xiě)方法不能比原方法訪問(wèn)性差(即訪問(wèn)權(quán)限不允許縮?。?。

重寫(xiě)方法不能比原方法拋出更多的異常。

被重寫(xiě)的方法不能是final類(lèi)型,因?yàn)閒inal修飾的方法是無(wú)法重寫(xiě)的。

被重寫(xiě)的方法不能為private,否則在其子類(lèi)中只是新定義了一個(gè)方法,并沒(méi)有對(duì)其進(jìn)行重寫(xiě)。

被重寫(xiě)的方法不能為static。如果父類(lèi)中的方法為靜態(tài)的,而子類(lèi)中的方法不是靜態(tài)的,但是兩個(gè)方法除了這一點(diǎn)外其他都滿足重寫(xiě)條件,那么會(huì)發(fā)生編譯錯(cuò)誤;反之亦然。即使父類(lèi)和子類(lèi)中的方法都是靜態(tài)的,并且滿足重寫(xiě)條件,但是仍然不會(huì)發(fā)生重寫(xiě),因?yàn)殪o態(tài)方法是在編譯的時(shí)候把靜態(tài)方法和類(lèi)的引用類(lèi)型進(jìn)行匹配。

重寫(xiě)是發(fā)生在運(yùn)行時(shí)的,因?yàn)榫幾g期編譯器不知道并且沒(méi)辦法確定該去調(diào)用哪個(gè)方法,JVM會(huì)在代碼運(yùn)行的時(shí)候作出決定。

方法重載的原則:

方法名稱(chēng)必須相同。

參數(shù)列表必須不同(個(gè)數(shù)不同、或類(lèi)型不同、參數(shù)類(lèi)型排列順序不同等)。

方法的返回類(lèi)型可以相同也可以不相同。

僅僅返回類(lèi)型不同不足以成為方法的重載。

重載是發(fā)生在編譯時(shí)的,因?yàn)榫幾g器可以根據(jù)參數(shù)的類(lèi)型來(lái)選擇使用哪個(gè)方法。

重寫(xiě)和重載的不同:

方法重寫(xiě)要求參數(shù)列表必須一致,而方法重載要求參數(shù)列表必須不一致。

方法重寫(xiě)要求返回類(lèi)型必須一致(或?yàn)槠渥宇?lèi)型),方法重載對(duì)此沒(méi)有要求。

方法重寫(xiě)只能用于子類(lèi)重寫(xiě)父類(lèi)的方法,方法重載用于同一個(gè)類(lèi)中的所有方法。

方法重寫(xiě)對(duì)方法的訪問(wèn)權(quán)限和拋出的異常有特殊的要求,而方法重載在這方面沒(méi)有任何限制。

父類(lèi)的一個(gè)方法只能被子類(lèi)重寫(xiě)一次,而一個(gè)方法可以在所有的類(lèi)中可以被重載多次。

重載是編譯時(shí)多態(tài),重寫(xiě)是運(yùn)行時(shí)多態(tài)。

以上就是長(zhǎng)沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java private方法覆蓋和重載是什么意思?”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過(guò)大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。