* 方法名相同
* 方法的參數(shù)類型、個(gè)數(shù)、順序至少有一項(xiàng)不相同
* 方法的返回類型可以不相同
* 方法的修飾符可以不相同
方法覆蓋必須滿足多種約束:
* 子類方法的名稱、參數(shù)簽名和返回的類型必須與父類方法的名稱、參數(shù)簽名和返回類型
一致。
* 子類方法不能縮小父類方法的訪問權(quán)限。
* 子類方法不能拋出比父類方法的更多的異常。
* 方法覆蓋只存在于子類和父類之間。
* 父類的靜態(tài)方法不能被子類覆蓋為非靜態(tài)的方法。
* 子類可以定義與父類靜態(tài)方法同名的靜態(tài)方法,以便在子類中隱藏父類的靜態(tài)方法。
* 父類的非靜態(tài)方法不能被子類覆蓋為靜態(tài)方法。
* 父類的私有方法不能被子類覆蓋。
* 父杰的抽象方法可以被子類通過兩種途徑覆蓋:一是子類實(shí)現(xiàn)父類的抽象訪求;二是子類重新聲明父類的抽象方法。
* 父類的非抽象方法可以被子類覆蓋為抽象方法。