JAVA重载和重写的区别?
生活随笔
收集整理的這篇文章主要介紹了
JAVA重载和重写的区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
重載:方法名相同,參數不同(參數類型或者長度)
? 重載和修飾符和返回類型無關。
一是方法的參數列表必須改變,包括參數的類型,參數的個數多少,參數順序。
二是重載對返回類型,訪問修飾符,異常聲明沒有任何限制,可以作任意的修改。實質上,重載只是創建了一個方法而已,特殊的地方在于方法的名字。
重寫:兩同兩小一大(規則)
兩同:方法名相同 參數類型 相同
兩小:返回值類型(基本數據類型要一致,引用類型可以是其子類)
??拋出的異常要小(也可以拋出父類型的異常的部分異常,或者不拋出異常)
一大:訪問控制修飾符大
(1)重寫方法必須和被重寫方法具有相同的參數列表,返回類型必須和被重寫方法的返回類型相同或者是返回類型的子類型。
?(2)重寫方法的訪問控制修飾符不能比被重寫方法更嚴格(比如一個在父類中聲明為public的方法重寫成一個protected的方法)。
?(3)只有實例方法才能被重寫,超類中的final方法不能被重寫。
?(4)重寫方法不能拋出新的檢查異常,或者是拋出比被重寫方法聲明的檢查異常更廣泛的檢查異常。
總結
以上是生活随笔為你收集整理的JAVA重载和重写的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图形化c语言编程,「分享」C语言如何编写
- 下一篇: 智能云媒体服务器,智慧广电媒体解决方案