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

1.重寫Override

  • 子類繼承父類,子類就繼承了父類的方法,而不需要重新編寫相同的方法,但是有時(shí)子類不想原封不動(dòng)地繼承父類的方法,而需要做一定的修改,這就需要采用方法的重寫。所以在方法名,參數(shù)列表,返回類型(除過(guò)子類中方法的返回值是父類中方法返回值的子類時(shí))都相同的情況下,對(duì)方法體進(jìn)行修改或重寫,這就是重寫方法。
  • 若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數(shù)表,則新方法將覆蓋原有的方法。如果仍然需要使用父類中原有的方法,可使用super關(guān)鍵字,該關(guān)鍵字引用了當(dāng)前類的父類。
  • 子類函數(shù)的訪問(wèn)修飾權(quán)限不能少于父類的。(public>protected>default>private)

2.重載Overload

  • 方法重載是讓類以統(tǒng)一的方式處理不同類型的一種手段,java的方法重載,就是在類中可以創(chuàng)建多個(gè)方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。
  • 重載的時(shí)候,方法名要一樣,但是參數(shù)類型和個(gè)數(shù)不一樣,返回值類型可以相同也可以不相同,無(wú)法以返回類型作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)。

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

  • 方法的重寫與重載都是實(shí)現(xiàn)多態(tài)的方式,區(qū)別在于重載實(shí)現(xiàn)的是編譯時(shí)的多態(tài)性,而重寫實(shí)現(xiàn)的是運(yùn)行時(shí)的多態(tài)性。
  • 重載發(fā)生在一個(gè)類中,同名的方法如果參數(shù)列表不同則為重載;重寫發(fā)生在子類與父類之間,重寫要求方法有相同的參數(shù)列表,有相同的返回類型,比父類被重寫的方法更好訪問(wèn),不能比父類被重寫方法聲明更多的異常。

引用
https://blog.csdn.net/wintershii/article/details/80558739

?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1、方法的重寫(Override)(方法覆蓋) (1)重寫介紹: java SE5增加@Override注解,并不...
    Hughman閱讀 1,497評(píng)論 0 3
  • 重寫只存在于子類與父類中,重載存在于一個(gè)類中。 具體區(qū)別如下: 一、重寫(override) override是重...
    codingcc閱讀 2,546評(píng)論 0 0
  • 首先說(shuō)一下什么是重載(Overload):(1) 方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個(gè)同名函...
    CharmingWong閱讀 520評(píng)論 0 0
  • ** 重寫(overriding)特點(diǎn)** 父類與子類之間的多態(tài)性,對(duì)父類的函數(shù)進(jìn)行重新定義。如果在子類中定義某方...
    StrongZhao閱讀 432評(píng)論 0 1
  • 我是盤古開(kāi)天辟地之時(shí)遺落在云臺(tái)山的一顆葫蘆籽,幾百年間,不斷吐芽,長(zhǎng)枝,長(zhǎng)葉,扎根。直到和半山一樣高,葉子遮蔽太陽(yáng)...
    魯童欣閱讀 576評(píng)論 2 1

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