Java 中的 super 關鍵字

Siddharth Swami 2023年10月12日
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() 函式呼叫父類建構函式來列印來自父類和子類的訊息。

相關文章 - Java Class