如果父類中的某個方法“throws Exception”,我們能否在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

更新日期:07-8-2019

1K+ 瀏覽次數

開啟你的 職業 生涯

透過完成課程來獲得認證

開始吧
廣告