在Java中,如果子類和父類擁有相同的變量名,那么子類的變量將會覆蓋父類的變量。
public class Father { public int variable = 1; } public class Son extends Father { public int variable = 2; public void print() { System.out.println(variable); // 輸出2 System.out.println(super.variable); // 輸出1 } }
在上面的代碼中,子類Son繼承自父類Father,并且重載了變量variable。如果在子類的print()方法中引用variable變量,那么輸出的結果將會是2,因為子類的變量已經覆蓋了父類的變量。
如果需要引用父類的變量,可以使用關鍵字super。
System.out.println(super.variable); // 輸出1
使用super關鍵字將會引用父類的變量,而不是子類的變量。
當然,在實際開發中,避免重復的變量名將會更加健壯和清晰。