重寫(覆蓋)、重載的區別

override(覆蓋)=重寫

對象:方法

解釋:重寫一個方法,以實現不同的功能

用於:子類繼承父類的方法,重寫(重現實現=繼承+寫新方法)父類的方法

規則:

1、參數列表相同,否則爲重載而非重寫

2、訪問修飾符大於被重寫方法(public > protected > default > private)

3、返回值(與被重寫方法)相同

4、所拋異常(與被重寫方法)相同

5、被重寫方法不能爲private,否則在其子類中只是新定義了一個方法,並未對其進行重寫

6、靜態方法不能被重寫爲非靜態方法(否則編譯出錯)


overload(重載)

解釋:在一個類內實現若干重載方法,方法名相同而參數形式不同

參數形式不同包括:

1、參數類型不同

2、參數個數不同

3、參數順序不同(參數類型不同的同時)

用於:在一個類內實現若干同名方法

規則:

1、使用重載只能 通過相同方法名和不同的參數形式實現

2、不能通過訪問權限、返回類型、拋出的異常進行重載

3、方法的異常類型和數目不會對重載造成影響


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