從重載與重寫來看OOP的三大特性:繼承、多態、封裝。

什麼是重載

具有不同參數列表的同名方法,稱爲重載。類中方法重載的判斷標準:參數的類型或參數的個數不同,方法的返回值可以相同也可以不同。

重載的規則:
1. 必須具有不同的參數列表(包括參數類型與參數個數);
2. 可以有不同的返回類型,只要參數列表不同就可以了;
3. 可以有不同的訪問修飾符;
4. 可以拋出不同的異常;

什麼是重寫

如果子類定義了與父類同名的方法,並且具有相同的參數類型和參數個數,這就構成了重寫。重寫是子類與父類之類繼承而來,同時也是展現多態的一種方法。可以通過調用super來使用父類的方法,但是子類的方法的修飾權限不能小於父類。
重寫的規則:

  1. 參數列表必須完全與被重寫的方法相同,否則不能稱其爲重寫而是重載。
  2. 返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其爲重寫而是重載。
  3. 訪問修飾符的限制一定要大於被重寫方法的訪問修飾符(public>protected>default>private)
  4. 重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常,但是可以拋出未檢測的異常。
  5. 靜態方法不能被重寫爲非靜態的方法(會編譯出錯)。

以下情況不不能被重寫:

  • 所有父類中被private修飾的方法
  • 父類中中被final修飾的方法。

怎樣表樣出多態的特性

重寫展現類的多態性,繼承性,封裝性。

鳴謝

巴山夜雨
weibo
weixin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章