方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數(shù)的類型或參數(shù)的個數(shù)。調(diào)用重載方法時,Java編譯器能通過檢查調(diào)用的方法的參數(shù)類型和個數(shù)選擇一個恰當?shù)姆椒ā?/p>
專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)昌都免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱 方法覆蓋。
1、定義區(qū)別:
①重載是指不同的函數(shù)使用相同的函數(shù)名,但是函數(shù)的參數(shù)個數(shù)或類型不同。調(diào)用的時候根據(jù)函數(shù)的參數(shù)來區(qū)別不同的函數(shù)。
②覆蓋(也叫重寫)是指在派生類中重新對基類中的虛函數(shù)(注意是虛函數(shù))重新實現(xiàn)。即函數(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)用時的實參表與形參表來選擇方法體的。
以上就是java重載和重寫的區(qū)別的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!