方法重寫

方法重寫

Java和其他一些高級面向對象的程式語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋

基本介紹

  • 中文名:方法重寫
  • 外文名:overiding method
  • 領域:Java
  • 又稱方法覆蓋
介紹,特性,注意事項:,

介紹

若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數表,則新方法將覆蓋原有的方法。 如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。

特性

關於方法重寫的一些特性:
1.發生方法重寫的兩個方法返回值、方法名、參數列表必須完全一致(子類重寫父類的方法)
2.子類拋出的異常下不能超過父類相應方法拋出的異常(子類異常不能大於父類異常)
3.子類方法的訪問級別不能低於父類相應方法的訪問級別(子類訪問級別不能低於父類訪問級別)
根據2,3條可以確定第一條,子類重寫父類方法的返回值類型不能大於父類方法的返回值類型,即是說子類方法的返回值必須和父類方法的返回值相同或是其子類。

注意事項:

方法重寫與方法重載不同,方法的重載是方法的參數個數或類型不同,方法名相同。
方法重寫是要注意許可權的問題,子類中的許可權不能小於父類的許可權,當父類的許可權為private時,子類無法繼承。也就無法產生所謂的重寫。(修飾符高低:private < 默認修飾符 < public)

相關詞條

熱門詞條

聯絡我們