跳轉到內容

Java 程式設計/關鍵字/super

來自華夏公益教科書,自由的教科書

super 是一個關鍵字。

  • 它用於子類方法定義中,用於呼叫超類中定義的方法。超類的私有方法不能被呼叫。只有公共和受保護的方法可以透過 super 關鍵字呼叫。
  • 它也被類建構函式用來呼叫其 父類 的建構函式。
  • super 關鍵字不用於靜態方法。

語法

super.<method-name>([zero or more arguments]);

super([zero or more arguments]);

例如

Computer code 程式碼清單 1: SuperClass.java
public class SuperClass {
   public void printHello() {
      System.out.println("Hello from SuperClass");
      return;
   }
}
Computer code 程式碼清單 2: SubClass.java
public class SubClass extends SuperClass {
   public void printHello() {
      super.printHello();
      System.out.println("Hello from SubClass");
      return;
   }
   public static main(String[] args) {
      SubClass obj = new SubClass();
      obj.printHello();
   }
}

執行上面的程式

Computer code 程式碼清單 2 的命令
$Java SubClass
Computer code 程式碼清單 2 的輸出
Hello from SuperClass
Hello from SubClass

在 Java 1.5 及更高版本中,"super" 關鍵字也用於在泛型中指定萬用字元型別引數的下限。

Example 程式碼部分 1: 萬用字元型別引數的下限。
public void sort(Comparator<? super T> comp) {
  ...
}

參見

華夏公益教科書