重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫,返回值和形參都不能改變。
在Java和其他壹些高級面向對象的編程語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作壹定的修改,這就需要采用方法的重寫。方法重寫又稱方法覆蓋。若子類中的方法與父類中的某壹方法具有相同的方法名、返回類型和參數表,則新方法將覆蓋原有的方法。
重寫方法的規則
1、參數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。
2、返回的類型必須壹直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載。
3、訪問修飾符的限制壹定要大於被重寫方法的訪問修飾符。(public>protected>default>private)
4、重寫方法壹定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。
重載和重寫(覆蓋)的特點
1、覆蓋的方法的標誌必須要和被覆蓋的方法的標誌完全匹配,才能達到覆蓋的效果。
2、覆蓋的方法的返回值必須和被覆蓋的方法的返回壹致。
3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常壹致,或者是其子類。
4、被覆蓋的方法不能為private,否則在其子類中只是新定義了壹個方法,並沒有對其進行覆蓋。