跳转到内容

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) {
  ...
}

参见

华夏公益教科书