一、定義上的區(qū)別:
1、重載是指不同的函數(shù)使用相同的函數(shù)名,但是函數(shù)的參數(shù)個(gè)數(shù)或類型不同。調(diào)用的時(shí)候根據(jù)函數(shù)的參數(shù)來(lái)區(qū)別不同的函數(shù)。
2、覆蓋(也叫重寫)是指在派生類中重新對(duì)基類中的虛函數(shù)(注意是虛函數(shù))重新實(shí)現(xiàn)。即函數(shù)名和參數(shù)都一樣,只是函數(shù)的實(shí)現(xiàn)體不一樣。
二、規(guī)則上的不同:
1、重載的規(guī)則:
①必須具有不同的參數(shù)列表。
②可以有不同的訪問(wèn)修飾符。
③可以拋出不同的異常。
2、重寫方法的規(guī)則:
①參數(shù)列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。
②返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載。
③訪問(wèn)修飾符的限制一定要大于被重寫方法的訪問(wèn)修飾符。
④重寫方法一定不能拋出新的檢查異?;蛘弑缺恢貙懛椒ㄉ昝鞲訉挿旱臋z查型異常。
三、類的關(guān)系上的區(qū)別:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-401088.html
重寫是子類和父類之間的關(guān)系,是垂直關(guān)系;重載是同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-401088.html
到了這里,關(guān)于Java中方法的重載和重寫的區(qū)別。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!