Java中,重寫是指重新定義一個繼承自父類的方法。它的目的是讓子類可以根據自己的需要來實現或改變父類的方法。以下是幾個重寫的規則。
1. 重寫的方法名、參數列表和返回值類型必須與父類中被重寫的方法完全一致。 2. 重寫的方法不能具有比被重寫方法更低的訪問修飾符。 3. 方法重寫時不能拋出比被重寫方法更寬泛的異常類型。 4. 非static方法不能被重寫成static方法,反之亦然。 5. final 或 private 方法無法被重寫。
在重寫一個父類的方法時,需要注意一些細節。首先,重寫的方法必須具有相同的訪問修飾符,或者更高的修飾符。例如,如果父類的方法是public的,那么子類重寫的方法也必須是public的。否則會出現編譯錯誤。
其次,在每個重寫的方法中,我們可以使用super關鍵字調用父類的方法。這是非常有用的,因為它允許我們在重寫的方法中同時保留父類的行為。 最后,還要注意方法的返回值。如果子類重寫的方法返回一個子類的實例,那么它必須返回與父類方法返回的相同的類型或其子類型。如果它返回一個父類的實例,那么它可以返回一個跟父類方法返回類型相同的類型或者NULL。