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