Java中的方法重載和覆蓋的區(qū)別

Java中的方法重載和覆蓋的區(qū)別

長沙牛耳教育      2022-05-07 04:42:01     100

Java中的方法重載和覆蓋的區(qū)別,方法重載和方法覆蓋的相同點(diǎn):都要求方法名相同;都可以用于抽象方法和非抽象方法之間。方法重載和方法覆蓋的不同點(diǎn):方法覆蓋要

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

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

詳細(xì)介紹

方法重載和方法覆蓋的相同點(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();????//重載}

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

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