Java重寫與重載:方法的‘改頭換面’與‘改頭換面’,必分清
Java中方法重載與重寫是重要特性,初學者易混淆,核心區別如下: **方法重載(Overload)**:同一類中,方法名相同但參數列表不同(類型、數量或順序),返回值、修飾符等可不同。目的是同一類中提供多參數處理方式(如計算器add方法支持不同參數相加),僅參數列表決定重載,返回值不同不算重載。 **方法重寫(Override)**:子類對父類方法的重新實現,要求方法名、參數列表完全相同,返回值爲父類返回值的子類,訪問權限不低於父類。目的是子類擴展父類功能(如狗重寫動物叫方法),靜態方法不可重寫(只能隱藏)。 **核心區別**:重載看參數不同(同一類),重寫看繼承(參數相同)。記住:重載“換參數”,重寫“換實現”。
閱讀全文Java方法重載:同名方法的不同參數,快速掌握
Java方法重載是同一類中方法名相同但**參數列表不同**(類型、數量、順序不同)的現象,核心是參數列表差異,返回值或參數名不同不構成重載,參數列表完全相同則重複定義。其作用是簡化代碼,通過統一方法名(如`add`)處理不同參數場景(如整數、小數相加)。 正確示例如`Calculator`類的`add`方法,支持`add(int, int)`、`add(double, double)`等不同參數列表;錯誤情況包括參數列表完全相同、僅返回值不同等(如重複定義兩個`test(int, int)`方法)。調用時Java自動根據參數匹配方法,構造方法也可重載(如`Person`類通過不同參數初始化)。 重載提升代碼可讀性與簡潔性,常見於工具類(如`Math`)設計,掌握其規則可避免編譯錯誤,優化代碼結構。
閱讀全文