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