在Java中,super
關(guān)鍵字用于引用父類(超類)的一個對象。通過使用super
,你可以訪問父類的方法和屬性,即使子類已經(jīng)重寫了這些方法或?qū)傩浴R韵率且恍╆P(guān)于Java super
操作方法的要點:
super
關(guān)鍵字可以訪問父類的屬性。例如,如果父類有一個名為data
的屬性,子類可以通過super.data
來訪問它。super
關(guān)鍵字來調(diào)用父類的版本。例如,如果父類有一個名為display()
的方法,子類可以通過super.display()
來調(diào)用它。super
調(diào)用:在子類的構(gòu)造方法中,你可以使用super
關(guān)鍵字來調(diào)用父類的構(gòu)造方法。這確保了父類的初始化邏輯在子類之前執(zhí)行。需要注意的是,子類構(gòu)造方法中的super
調(diào)用必須放在子類構(gòu)造方法的第一行。super
調(diào)用:在子類中重寫父類的方法時,你可以使用super
關(guān)鍵字來調(diào)用父類的版本。這被稱為方法鏈(Method Chaining)。例如,如果父類有一個名為process()
的方法,子類可以通過super.process()
來調(diào)用它,然后繼續(xù)執(zhí)行子類的其他邏輯。以下是一個簡單的示例,演示了如何在子類中使用super
關(guān)鍵字訪問父類的屬性和方法:
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(); // 調(diào)用父類的display()方法
System.out.println("Display from Child: " + this.data);
}
void process() {
super.process(); // 假設(shè)父類有一個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()
來調(diào)用父類的版本。同時,Child
類還調(diào)用了父類的process()
方法(假設(shè)父類有這個方法)。