java重载与重写的区别你懂了吗
目錄:
1.重載
2.重寫
1.重載
(1) Java的方法重載,就是在類中可以創建多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。
(2)重載的特點:
1.方法名要一樣,但是參數類型或個數不一樣,再或者二者都不一樣
2.返回值類型可以相同也可以不相同。無法以返回型別作為重載函數的區分標準。
3.可以有不同的訪問修飾符;
4.可以拋出不同的異常;
5.存在于父類和子類、同類中
第5點怎么理解呢,看下面代碼:
子類繼承父類的方法進行重載
(3)重載的多態性
調用方法時通過傳遞給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性
這里的多態是編譯時的多態,也就是說在編譯的時候就已經知道我傳什么參數將要調用哪一個重載的方法
編譯前的多態又叫靜態綁定
2.重寫
(1)重寫就是子類重新實現從父類繼承過來的方法,對父類的方法進行覆蓋,調用的時候調用子類自己的方法
(2)重寫的特點:
1.參數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。
2.返回的類型必須小于等于與被重寫的方法的返回類型,否則不能稱其為重寫而是重載。
3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(也就是方法在子類訪問修飾符大于等于父類)
4.方法重寫時,子類拋出的異常類型要 小于等于父類拋出的異常類型。
(3)重寫的多態性:
調用方法的時候,只有在運行階段才確定調用的方法
編譯后是不知道要調用父親繼承給兒子的方法還是兒子重寫父親的方法
運行時的多態又叫做動態綁定
總結
以上是生活随笔為你收集整理的java重载与重写的区别你懂了吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入java抽象类和接口
- 下一篇: 还在傻傻分不清楚equal和==