Java 中的協變返回型別


協變返回型別指的是覆蓋方法的返回型別。它允許無需強制轉換型別或檢查返回型別即可縮小覆蓋方法的返回型別。協變返回型別僅適用於非基本型別返回型別。

從 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

更新於: 2020-02-24

9K+ 檢視

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.