重載與重寫的區(qū)別

1.重寫(Override)

從字面上看,重寫就是 重新寫一遍的意思。其實(shí)就是在子類中把父類本身有的方法重新寫一遍。子類繼承了父類原有的方法,但有時(shí)子類并不想原封不動(dòng)的繼承父類中的某個(gè)方法,所以在方法名,參數(shù)列表,返回類型(除過子類中方法的返回值是父類中方法返回值的子類時(shí))都相同的情況下, 對方法體進(jìn)行修改或重寫,這就是重寫。但要注意子類函數(shù)的訪問修飾權(quán)限不能少于父類的。

重寫 總結(jié):

1.發(fā)生在父類與子類之間

2.方法名,參數(shù)列表,返回類型(除過子類中方法的返回類型是父類中返回類型的子類)必須相同

3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)

4.重寫方法一定不能拋出新的檢查異?;蛘弑缺恢貙懛椒ㄉ昝鞲訉挿旱臋z查型異常

2.重載(Overload)

在一個(gè)類中,同名的方法如果有不同的參數(shù)列表(參數(shù)類型不同、參數(shù)個(gè)數(shù)不同甚至是參數(shù)順序不同)則視為重載。同時(shí),重載對返回類型沒有要求,可以相同也可以不同,但不能通過返回類型是否相同來判斷重載。

重載 總結(jié):

1.重載Overload是一個(gè)類中多態(tài)性的一種表現(xiàn)

2.重載要求同名方法的參數(shù)列表不同(參數(shù)類型,參數(shù)個(gè)數(shù)甚至是參數(shù)順序)

3.重載的時(shí)候,返回值類型可以相同也可以不相同。無法以返回型別作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)

重載與重寫的區(qū)別:

方法的重載和重寫都是實(shí)現(xiàn)多態(tài)的方式,區(qū)別在于前者實(shí)現(xiàn)的是編譯時(shí)的多態(tài)性,而后者實(shí)現(xiàn)的是運(yùn)行時(shí)的多態(tài)性。重載發(fā)生在一個(gè)類中,同名的方法如果有不同的參數(shù)列表(參數(shù)類型不同、參數(shù)個(gè)數(shù)不同或者二者都不同)則視為重載;重寫發(fā)生在子類與父類之間,重寫要求子類被重寫方法與父類被重寫方法有相同的參數(shù)列表,有兼容的返回類型,比父類被重寫方法更好訪問,不能比父類被重寫方法聲明更多的異常(里氏代換原則)。重載對返回類型沒有特殊的要求,不能根據(jù)返回類型進(jìn)行區(qū)分。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.重寫(Override) 從字面上看,重寫就是 重新寫一遍的意思。其實(shí)就是在子類中把父類本身有的方法重新寫一遍...
    王鵬輝閱讀 276評論 0 0
  • 一、首先我們來講講:重載(Overloading) 1、方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個(gè)...
    眼中的晴空閱讀 272評論 0 0
  • Java 方法重載和方法重寫的區(qū)別有哪些? 解析:先明白重載和重寫的定義。 一、方法重寫(0verride) 在J...
    南城刀閱讀 771評論 0 1
  • 1.重寫(overloading) 方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個(gè)同名函數(shù)同時(shí)存在,具...
    陳住氣I閱讀 193評論 0 1
  • 重載(Overloading) 方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個(gè)同名函數(shù)同時(shí)存在,具有不...
    董冠鵬閱讀 116評論 0 0

友情鏈接更多精彩內(nèi)容