HOWTO · Java
Java 中的 super 關鍵字
本教程演示瞭如何在 Java 中使用 super()。
在 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() 函式呼叫父類建構函式來列印來自父類和子類的訊息。