更新時(shí)間:2020-09-10 15:24:47 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2496次
方法重載和方法覆蓋的相同點(diǎn):
都要求方法名相同;
都可以用于抽象方法和非抽象方法之間。
方法重載和方法覆蓋的不同點(diǎn):
方法覆蓋要求參數(shù)簽名必須一致,而方法重載則要求參數(shù)簽名必須不一致;
方法覆蓋要求返回類型必須一致,而方法重載對(duì)此不做限制;
方法覆蓋只能用于子類覆蓋父類的方法,方法重載用于同一個(gè)類的所有方法(包括從父類中繼承來的方法);
方法覆蓋對(duì)方法的訪問權(quán)限和拋出的異常有特殊的要求,而方法重載在這方面沒有任何限制;
父類的一個(gè)方法只能被子類覆蓋一次,而一個(gè)方法在所在的類中可以被重載多次。
示例如下:
?public?class?Base?{
? protected?void?method(int?v)?{}?
? private?void?method(String?s)?{}????//重載
?}
?public?abstract?class?Sub?extends?Base?{
? public?void?method(int?v)?{}??????//覆蓋
? public?int?method(int?v1,?int?v2)?{return?0;}????//重載
? protected?void?method(String?s)?throws?Exception{}????//重載
? abstract?void?method();????//重載
?}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中方法重載和方法覆蓋的異同”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743