Java 中的 super 關鍵字

Siddharth Swami 2021年10月2日
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