在Java中,方法重寫是指子類重寫父類中的方法。以下是Java中方法重寫的規則:
方法重寫必須具有相同的方法名稱、參數列表和返回類型。
子類中重寫的方法不能比父類中被重寫的方法具有更低的訪問權限。例如,如果父類中的方法是public,那么子類中重寫的方法必須也是public,而不能是protected或private。
子類中重寫的方法不能拋出比父類方法更多的異常。如果父類方法聲明了某個異常,那么子類方法可以不聲明該異常,但不能聲明其他異常。
子類中重寫的方法不能使用比父類方法更窄的返回類型。如果父類方法的返回類型是A類型,那么子類方法的返回類型可以是A類型或A的子類型。
靜態方法不能被重寫,只能被隱藏。如果子類中定義了與父類中的靜態方法具有相同名稱、參數列表和返回類型的方法,那么該方法不是重寫,而是隱藏父類的靜態方法。
總結來說,方法重寫要求子類中的方法與父類中的方法具有相同的方法簽名(方法名稱、參數列表和返回類型),并且不能限制訪問權限、拋出更多的異常或使用比父類方法更窄的返回類型。