溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中的重載和重寫有什么區(qū)別

發(fā)布時間:2020-06-21 14:11:10 來源:億速云 閱讀:112 作者:元一 欄目:編程語言

方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數(shù)的類型或參數(shù)的個數(shù)。調(diào)用重載方法時,Java編譯器能通過檢查調(diào)用的方法的參數(shù)類型和個數(shù)選擇一個恰當(dāng)?shù)姆椒ā?/p>

在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱 方法覆蓋。 

1、定義區(qū)別:

①重載是指不同的函數(shù)使用相同的函數(shù)名,但是函數(shù)的參數(shù)個數(shù)或類型不同。調(diào)用的時候根據(jù)函數(shù)的參數(shù)來區(qū)別不同的函數(shù)。

②覆蓋(也叫重寫)是指在派生類中重新對基類中的虛函數(shù)(注意是虛函數(shù))重新實(shí)現(xiàn)。即函數(shù)名和參數(shù)都一樣,只是函數(shù)的實(shí)現(xiàn)體不一樣。

2、類的關(guān)系區(qū)別

覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;重載是同一個類中方法之間的關(guān)系,是水平關(guān)系。

3、產(chǎn)生方法區(qū)別

覆蓋只能由一個方法或只能由一對方法產(chǎn)生關(guān)系;重載是多個方法之間的關(guān)系。

4、參數(shù)列表要求區(qū)別

覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

5、調(diào)用方法區(qū)別

覆蓋關(guān)系中,調(diào)用方法體是根據(jù)對象的類型來決定;而重載關(guān)系是根據(jù)調(diào)用時的實(shí)參表與形參表來選擇方法體的。

以上就是java重載和重寫的區(qū)別的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI