方法的重写VS重载
方法的重寫(override)
方法的重寫
子類從父類中繼承方法,有時,子類需要修改父類中定義的方法的實現,這稱做方法的重寫(method overriding)。“重寫”的概念與“重載”相似,它們均是Java“多態”的技術之一,所謂“重載”,即是方法名稱相同,但卻可在不同的場合做不同的事。當一個子類繼承一父類,而子類中的方法與父類中的方法的名稱、參數個數和類型都完全一致時,就稱子類中的這個方法重寫了父類中的方法。“重寫”又稱為“復寫”、“覆蓋”。
如何使用重寫
class Super {訪問權限 方法返回值類型 方法1(參數1) {...} } class Sub extends Super{訪問權限 方法返回值類型 方法1(參數1) —————>復寫父類中的方法{...} }注意:方法重寫時必須遵循兩個原則,否則編譯器會指出程序出錯。
- 重寫的方法不能比被重寫的方法有更嚴格的訪問權限;
- 重寫的方法不能比被重寫的方法產生更多的異常(關于異常,在后面會介紹)。
方法的重載(overload)
方法的重載
首先回顧一下前面所講的方法的重載,方法重載是指多個方法可以享有相同的名字,但是參數的數量或類型不能完全相同。 調用方法時,編譯器根據參數的個數和類型來決定當前所使用的方法。方法重載為程序的編寫帶來方便,是OOP多態性的具體變現。在Java系統的類庫中,對許多重要的方法進行重載,為用戶使用這些方法提供了方便。
重載的規則
- 被重載的方法必須改變參數列表(參數個數或類型不一樣);
- 被重載的方法可以改變返回類型;
- 被重載的方法可以改變訪問修飾符;
- 被重載的方法可以聲明新的或更廣的檢查異常;
- 方法能夠在同一個類中或者在一個子類中被重載。
- 無法以返回值類型作為重載函數的區分標準。
總結
- 上一篇: 笔记本2G内存装什么系统好?
- 下一篇: 向上类型转换VS向下类型转换