在 Java 中,子類在重寫時能否選擇不丟擲異常?


如果超類方法丟擲特定異常,你可以重寫它但而不丟擲任何異常。

示例

在以下示例中,超類的 sampleMethod() 方法丟擲 FileNotFoundException 異常,而 sampleMethod() 方法根本不丟擲任何異常。儘管如此,這個程式仍然可以編譯和執行,沒有任何錯誤。

 即時演示

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super {
   public void sampleMethod()throws FileNotFoundException {
      System.out.println("Method of superclass");
   }
}
public class ExceptionsExample extends Super {
   public void sampleMethod() {
      System.out.println("Method of Subclass");
   }
   public static void main(String args[]) {
      ExceptionsExample obj = new ExceptionsExample();
      obj.sampleMethod();
   }
}

輸出

Method of Subclass

更新於: 15-10-2019

531 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始使用
廣告
© . All rights reserved.