方法重置和重寫的區別

liulang68發表於2020-11-14

方法重寫(方法覆蓋)概念:子類繼承父類中的方法,想在原有的基礎上作一定的修改。格式特點:
1.方法名、引數列表必須完全一致
2.返回型別可以相同,也可以不同,不同必須是原來返回型別的子型別(可隱式轉換即可)
JAVA近期版本的新特性,在之前子類返回值型別必須和父類返回值型別保持一致
2.子類丟擲的異常下不能超過父類相應方法丟擲的異常(子類異常不能大於父類異常)
3.子類方法的訪問級別不能低於父類相應方法的訪問級別(子類訪問級別不能低於父類訪問級別)
4.**靜態只能重寫靜態。但是這種情況一般不會出現。
方法過載概念:在同一個類中,允許存在一個以上的同名函式,只要它們的引數個數或者引數型別不同即可。
格式特點:
1.方法名相同。
2.方法的參數列必須不同如果引數個數不同,就不管它的引數型別了!如果引數個數相同,那麼引數的型別必須不同。
3.方法的返回型別、修飾符可以相同,也可不同。

在這裡插入圖片描述
參考文章:方法重寫與方法過載的區別 - 劉建偉的文章 - 知乎
https://zhuanlan.zhihu.com/p/64732121

相關文章