Javase基礎(chǔ)入門視頻教程之Override詳解

Javase基礎(chǔ)入門視頻教程之Override詳解

天津卓眾教育      2022-04-04 03:28:01     18

Javase基礎(chǔ)入門視頻教程之Override詳解,Override不是關(guān)鍵字,但是可以把它當(dāng)做關(guān)鍵字來使用。當(dāng)你想要覆寫某個方法時,可以添加這個注解。在不小心重載而非覆寫了該方法

課程價格 請咨詢

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

詳細介紹

Override不是關(guān)鍵字,但是可以把它當(dāng)做關(guān)鍵字來使用。當(dāng)你想要覆寫某個方法時,可以添加這個注解。在不小心重載而非覆寫了該方法時,編譯器就會生成一條錯誤信息。

簡單的說 Override有如下好處:

(1)可以當(dāng)注釋用,方便閱讀;

(2)編譯器可以給你驗證 Override下面的方法是否是你父類中所有的,如果不是則報錯。例如,你想重寫父類中的某個方法,如果沒寫 Override,而你下面的方法又寫錯了,比如參數(shù)類型個數(shù)或者方法名不同,這時你的編譯器是可以編譯通過的,因為編譯器以為這個方法是你的子類中自己增加的方法。

拓展:Bruce的一個思考

《Thinking in java》的作者Bruce在討論這個問題的時候,提到了一個問題就是override私有的方法的例子:

現(xiàn)在我們向Fruit類中添加一個私有方法,而在Apple中嘗試復(fù)寫

@Overrideprivate?void?grow(){}

結(jié)果編譯器會提示錯誤,這是一個非常低級的錯誤,但是有時候恰恰就不會被我們發(fā)現(xiàn):那就是試著復(fù)寫私有方法,但是當(dāng)我們?nèi)サ鬙verride標(biāo)簽的時候,編譯器是不會報錯的,而且可以執(zhí)行。

其實Apple中的你所謂復(fù)寫的grow只是一個針對于Apple本身的私有方法。完全是一個新的方法。

這就引出了一個問題,何為復(fù)寫?

在面向?qū)ο笾?,只有接口和共有方法,繼承方法才有復(fù)寫,私有方法不可以復(fù)寫,其實根本就不存在復(fù)寫私有方法的概念!

以上就是天津卓眾教育java培訓(xùn)機構(gòu)的小編針對“Javase基礎(chǔ)入門視頻教程之Override詳解”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

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