推薦答案
在Java中,super關鍵字用于在子類中訪問父類的成員變量、成員方法和構造方法。它有以下兩種常用的用法:
1. 訪問父類的成員變量和成員方法:在子類中使用super關鍵字可以訪問父類中的成員變量和成員方法,格式為:super.父類成員變量名 或 super.父類成員方法名([參數列表])。
2. 調用父類的構造方法:在子類的構造方法中,可以使用super關鍵字調用父類的構造方法,格式為:super([參數列表])。注意,調用父類的構造方法必須放在子類構造方法中的第一行。
以下是一個示例代碼,演示如何使用super關鍵字和super()方法:
public class Parent {
protected int x;
public Parent(int x) {
this.x = x;
}
public void printX() {
System.out.println("x = " + x);
}
}
public class Child extends Parent {
private int y;
public Child(int x, int y) {
super(x); // 調用父類的構造方法
this.y = y;
}
public void printY() {
System.out.println("y = " + y);
}
public void printParentX() {
super.printX(); // 訪問父類的方法
}
public static void main(String[] args) {
Child c = new Child(10, 20);
c.printX(); // 訪問繼承自父類的成員變量
c.printY(); // 訪問自身的成員變量
c.printParentX(); // 訪問父類的方法
}
}
其他答案
-
super關鍵字的常見用途之一是在子類中調用父類的構造函數。當創建子類對象時,子類的構造函數會自動調用父類的默認構造函數,以初始化父類的成員變量。然而,如果父類中定義了帶有參數的構造函數,子類就需要使用super關鍵字來顯式調用父類的構造函數,并傳遞相應的參數。這樣可以確保子類對象在初始化時具有正確的父類成員狀態。使用super()調用父類構造函數的語法是在子類的構造函數中使用"super(參數列表)"的形式。在調用父類構造函數之前,子類構造函數可以執行一些特定的操作,例如初始化子類特有的成員變量。然而,需要注意的是,super()語句必須作為子類構造函數的第一條語句。通過使用super關鍵字,子類可以重寫父類的方法并擴展其功能。子類可以通過super關鍵字調用父類的方法,并在其基礎上添加額外的行為。這種機制允許子類在不完全覆蓋父類方法的情況下修改其行為,從而實現代碼的復用和靈活性。此外,super關鍵字還可以用于訪問父類的成員變量。當子類和父類具有同名的成員變量時,子類可以使用super關鍵字來引用父類的成員變量,以避免命名沖突和歧義。通過super關鍵字,子類可以明確指定要訪問的是父類的成員變量,而不是自身的同名成員變量。
-
在Java中,`super` 是一個關鍵字,用于引用父類的成員(變量和方法),以及調用父類的構造方法。下面是關于 `super` 關鍵字的使用方式:1. 訪問父類的成員變量和成員方法。- 通過 `super.成員變量名` 可以訪問父類的成員變量。- 通過 `super.方法名()` 可以調用父類的成員方法。2. 調用父類的構造方法:- 在子類的構造方法中,通過 `super()` 調用父類的構造方法。- `super()` 必須作為構造方法的第一行語句出現。- 如果子類的構造方法沒有顯式調用父類的構造方法,編譯器會自動添加一個默認的 `super()` 調用。需要注意的是,`super` 關鍵字只能在子類中使用,用于引用父類的成員或調用父類的構造方法。它的使用可以實現對父類的訪問和調用,從而在子類中擴展或重用父類的功能。