Java 中的协变返回类型

javajava programming java 8

协变返回类型是指重写方法的返回类型。它允许缩小重写方法的返回类型,而无需强制转换类型或检查返回类型。协变返回类型仅适用于非原始返回类型。

从 Java 5 开始,我们可以通过更改方法的返回类型来重写方法,但必须遵守返回类型是重写方法返回类型的子类的条件。

以下示例展示了相同的内容。

示例

class SuperClass {
   SuperClass get() {
      System.out.println("SuperClass");
      return this;
   }
}
public class Tester extends SuperClass {
   Tester get() {
      System.out.println("SubClass");
      return this;
   }
   public static void main(String[] args) {
      SuperClass tester = new Tester();
      tester.get();
   }
}

输出

Subclass

相关文章