如何區分Java中方法的重載和覆蓋?
重載:它發生在類內部,並且是針對方法,而不是域。如果方法的簽名相同,但參數的數量或參數的類型不同,則構成重載。但是不考慮返回類型,也就是說,如果返回類型不同,就不會重載。Override:它發生在父類和子類之間,例如方法(即非靜態方法)而不是域。要構成重寫,必須滿足以下條件:1,父類中的靜態方法不能被重寫;2.父類中的最終方法不能被覆蓋;3.方法的簽名、參數號和參數類型應該相同;關於返回類型有兩點需要說明:1)如果返回類型是引用類型,可以將override方法的返回類型聲明為父類方法聲明的返回類型的子類型;2)如果返回類型是基本類型,則重寫方法的返回類型必須與父方法的返回類型相同;來源:(/s/Blog _ 5c 4532 e 50100 bqbl . html)-重載、覆蓋、隱藏在Java _村長_新浪博客對方法參數的描述:無論父方法中的參數是否為final,子類都可以修改此參數;4.子類方法的訪問權限應該大於或等於父類的訪問權限;5.子類方法可以改變壹些方法修飾符,比如synchronized、native和strictfp。6.子類方法的throws子句可以與父類方法的throws子句不同,其列出的每個異常類型應該與父類或父類異常類型的子類相同;Hidden:發生在父類和子類之間,而且只針對靜態成員(靜態方法和靜態字段)。註意:聲明為final的類方法不能隱藏。當實例方法被子類方法覆蓋時,實際調用的方法是在執行時確定的。當類的方法被子類的方法隱藏時,實際調用的方法是在編譯時確定的。