Java重寫與重載:方法的‘改頭換面’與‘改頭換面’,必分清

Java中方法重載與重寫是重要特性,初學者易混淆,核心區別如下: **方法重載(Overload)**:同一類中,方法名相同但參數列表不同(類型、數量或順序),返回值、修飾符等可不同。目的是同一類中提供多參數處理方式(如計算器add方法支持不同參數相加),僅參數列表決定重載,返回值不同不算重載。 **方法重寫(Override)**:子類對父類方法的重新實現,要求方法名、參數列表完全相同,返回值爲父類返回值的子類,訪問權限不低於父類。目的是子類擴展父類功能(如狗重寫動物叫方法),靜態方法不可重寫(只能隱藏)。 **核心區別**:重載看參數不同(同一類),重寫看繼承(參數相同)。記住:重載“換參數”,重寫“換實現”。

閱讀全文
Java super關鍵字:繼承中的父類調用,必學

`super`是Java中用於在子類中訪問父類成員的關鍵字,核心作用是連接子類與父類。 **1. 調用父類構造方法**:子類構造默認先調用父類無參構造(`super()`),若父類無無參構造或需調用有參構造,必須用`super(參數)`顯式調用,且**必須放在子類構造首行**,否則編譯報錯。 **2. 訪問父類同名成員變量**:子類與父類變量同名時,默認訪問子類變量,用`super.變量名`可明確訪問父類變量。 **3. 調用父類被重寫的方法**:子類重寫父類方法後,默認調用子類方法,用`super.方法名()`可調用父類被重寫的方法。 **注意事項**:靜態方法中不可用`super`;`super()`必須在子類構造首行;`this()`與`super()`不可同時在構造方法中。 掌握`super`能明確控制子類對父類成員的訪問,是理解Java繼承的關鍵。

閱讀全文