方法重載 與 方法覆蓋

方法重載   @Overloadide

  • 方法名相同
  • 方法的參數類型、個數、順序、至少有一項不相同
  • 方法的返回值類型能夠不相同
  • 方法的修飾符能夠不相同

方法覆蓋   @Overridespa

  • 覆蓋只能存在於子類和父類(包括父類和簡介父類)之間。在同一個類中方法只能被重載不能被覆蓋
  • 子類的名稱、參數簽名和返回值類型必須與父類方法名稱、參數簽名和返回值類型一致
  • 子類方法不能縮小父類方法的訪問權限
  • 子類方法不能拋出父類方法更多的異常
  • 父類靜態方法不能被子類覆蓋爲非靜態方法
  • 子類能夠定義爲與父類靜態方法同名的靜態方法,以便在子類中隱藏父類的靜態方法
  • 父類的私有方法不能被覆蓋
  • 父類的抽象方法能夠被子類經過兩種途徑覆蓋:
  1. 子類實現父類的抽象方法
  2. 子類從新聲明父類的抽象方法
  • 父類非抽象方法能夠被覆蓋爲抽象方法
相關文章
相關標籤/搜索