在Java中,super
關鍵字用于引用父類(超類)的一個對象。通過使用super
,你可以訪問父類的方法和屬性,即使子類已經重寫了這些方法或屬性。以下是一些關于Java super
操作方法的要點:
super
關鍵字可以訪問父類的屬性。例如,如果父類有一個名為data
的屬性,子類可以通過super.data
來訪問它。super
關鍵字來調用父類的版本。例如,如果父類有一個名為display()
的方法,子類可以通過super.display()
來調用它。super
調用:在子類的構造方法中,你可以使用super
關鍵字來調用父類的構造方法。這確保了父類的初始化邏輯在子類之前執行。需要注意的是,子類構造方法中的super
調用必須放在子類構造方法的第一行。super
調用:在子類中重寫父類的方法時,你可以使用super
關鍵字來調用父類的版本。這被稱為方法鏈(Method Chaining)。例如,如果父類有一個名為process()
的方法,子類可以通過super.process()
來調用它,然后繼續執行子類的其他邏輯。以下是一個簡單的示例,演示了如何在子類中使用super
關鍵字訪問父類的屬性和方法:
class Parent {
String data = "Parent Data";
void display() {
System.out.println("Display from Parent: " + data);
}
}
class Child extends Parent {
String data = "Child Data";
void display() {
super.display(); // 調用父類的display()方法
System.out.println("Display from Child: " + this.data);
}
void process() {
super.process(); // 假設父類有一個process()方法
System.out.println("Processing in Child");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.display(); // 輸出:
// Display from Parent: Parent Data
// Display from Child: Child Data
child.process(); // 輸出:
// Assuming Parent has a process() method
// Processing in Child
}
}
在這個示例中,Child
類繼承了Parent
類,并重寫了display()
方法。在重寫的方法中,我們使用super.display()
來調用父類的版本。同時,Child
類還調用了父類的process()
方法(假設父類有這個方法)。