Java 中的 super 關鍵字
Siddharth Swami
2023年10月12日
在 Java 中,我們有一個與父類有些相關的預定義關鍵字 super
。我們將在本教程中詳細討論 super()
函式。
在 Java 中,super
關鍵字充當父類物件的引用變數。它可以用來呼叫父類的方法和變數。
例如
class Teacher { // Parent class
int grade = 90;
}
class Students extends Teacher { // subclass
Students() {
System.out.println("Grade " + super.grade);
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
輸出:
Grade 90
在上面的示例中,我們使用 super
關鍵字從其子類 Students
的建構函式訪問了父類 Teacher
中的變數 grade
。
我們還有 super()
函式,它呼叫父類的建構函式。該函式僅用於呼叫父類的建構函式。可以使用 super()
函式呼叫引數和非引數建構函式。如果建構函式在使用 super()
函式時沒有顯式呼叫超類建構函式,則 Java 編譯器本身會呼叫超類的無引數建構函式。
請參考下面的程式碼。
class Teacher { // Parent class
Teacher() // constructor
{
System.out.println("Teacher class Constructor");
}
}
class Students extends Teacher { // subclass
Students() {
super();
System.out.println("Students class Constructor");
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
輸出:
Teacher class Constructor
Students class Constructor
我們在上面的程式碼中建立了一個父類 Teacher
和一個父類建構函式,它會列印一條訊息。然後從 Teacher
擴充套件了一個子類 Students
,它有一個建構函式 Students()
,它由呼叫父類建構函式的 super()
函式組成。然後我們有主類,它呼叫子類來執行程式。super()
函式呼叫父類建構函式來列印來自父類和子類的訊息。