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

1.重寫(xiě)(Override)

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

重寫(xiě) 總結(jié):

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

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

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

4.重寫(xiě)方法一定不能拋出新的檢查異常或者比被重寫(xiě)方法申明更加寬泛的檢查型異常

2.重載(Overload)

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

重載 總結(jié):

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

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

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

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

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

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

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

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

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