重寫:父類和子類之間的多態性,重新定義父類的功能。如果在子類中定義的方法與其父類具有相同的名稱和參數,我們說該方法是重寫的。在Java中,子類可以繼承父類中的方法,而不必重寫相同的方法。但是有時候子類不想原封不動的繼承父類的方法,而是想做壹些改變,這就需要重寫方法。方法重寫也稱為方法重寫。
簡單來說,同壹個方法可以根據輸入數據的不同做出不同的處理,也就是方法的重載——有不同的參數列表(靜態多態)
但是,當子類從父類繼承了相同的方法,輸入數據相同,卻要和父類做出不同的響應時,妳就要重寫父類的方法,也就是重寫子類中的方法——相同的參數,不同的實現(動態多態)。
重寫方法的規則:
1,參數列表必須和被重寫的方法完全壹樣,否則不能叫重寫,只能叫重載。
2.返回的類型必須始終與被重寫方法的類型相同,否則不能稱為重寫,只能稱為重載。
3.訪問修飾符的限制必須大於訪問修飾符(public >;受保護的& gt默認& gt私人)
4.被重寫的方法不得引發新的檢查異常或比被重寫的方法聲明的檢查異常更廣泛的檢查異常。例如:
父類的方法聲明了檢查異常IOException。如果重寫這個方法,就不能拋出異常,只能拋出IOException的子類異常,可以拋出非檢查異常。
過載的規則是:
1,必須有不同的參數表;
2.不罵也可以有返回類型,只要參數列表不壹樣;
3.可以有不同的訪問修飾符;
4.可以拋出不同的異常;
重寫和重載的區別在於:
重寫多態是行得通的,可以大大減少調用重載方法時代碼的輸入。同壹個方法名可以有不同的函數或返回值,只要傳遞給它的參數不同。
善用重寫和重載,可以設計出結構清晰簡潔的類。可以說重寫和重載在編碼的過程中起著非同壹般的作用。