Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類引用

Java 有用資源

Java - super 關鍵字



super 關鍵字類似於 this 關鍵字。以下是使用 super 關鍵字的場景。

  • 它用於區分超類的成員與子類的成員,如果它們具有相同的名稱。

  • 它用於呼叫超類的構造方法。

區分成員

如果一個類繼承了另一個類的屬性。並且如果超類的成員與子類具有相同的名稱,為了區分這些變數,我們使用 super 關鍵字,如下所示。

super.variable
super.method();

示例程式碼

本節提供了一個演示super關鍵字用法的程式。

在給定的程式中,您有兩個類,名為Sub_classSuper_class,這兩個類都具有名為 display() 的方法,但實現不同,並且名為 num 的變數具有不同的值。我們呼叫兩個類的 display() 方法並列印兩個類的變數 num 的值。在這裡您可以觀察到我們使用了 super 關鍵字來區分超類的成員與子類的成員。

複製並貼上程式到名為 Sub_class.java 的檔案中。

示例

class Super_class {
   int num = 20;

   // display method of superclass
   public void display() {
      System.out.println("This is the display method of superclass");
   }
}

public class Sub_class extends Super_class {
   int num = 10;

   // display method of sub class
   public void display() {
      System.out.println("This is the display method of subclass");
   }

   public void my_method() {
      // Instantiating subclass
      Sub_class sub = new Sub_class();

      // Invoking the display() method of sub class
      sub.display();

      // Invoking the display() method of superclass
      super.display();

      // printing the value of variable num of subclass
      System.out.println("value of the variable named num in sub class:"+ sub.num);

      // printing the value of variable num of superclass
      System.out.println("value of the variable named num in super class:"+ super.num);
   }

   public static void main(String args[]) {
      Sub_class obj = new Sub_class();
      obj.my_method();
   }
}

輸出

使用以下語法編譯並執行上述程式碼。

javac Super_Demo
java Super

執行程式後,您將得到以下結果:

This is the display method of subclass
This is the display method of superclass
value of the variable named num in sub class:10
value of the variable named num in super class:20

呼叫超類構造方法

如果一個類繼承了另一個類的屬性,則子類會自動獲取超類的預設構造方法。但是,如果您想呼叫超類的帶引數的構造方法,則需要使用 super 關鍵字,如下所示。

super(values);

示例程式碼

本節中給出的程式演示瞭如何使用 super 關鍵字來呼叫超類的帶引數的構造方法。此程式包含一個超類和一個子類,其中超類包含一個接受整數值的帶引數的構造方法,我們使用 super 關鍵字來呼叫超類的帶引數的構造方法。

複製並貼上以下程式到名為 Subclass.java 的檔案中

示例

class Superclass {
   int age;

   Superclass(int age) {
      this.age = age; 		 
   }

   public void getAge() {
      System.out.println("The value of the variable named age in super class is: " +age);
   }
}

public class Subclass extends Superclass {
   Subclass(int age) {
      super(age);
   }

   public static void main(String args[]) {
      Subclass s = new Subclass(24);
      s.getAge();
   }
}

輸出

使用以下語法編譯並執行上述程式碼。

javac Subclass
java Subclass

執行程式後,您將得到以下結果:

The value of the variable named age in super class is: 24
java_basic_syntax.htm
廣告

© . All rights reserved.