在 Java 中,子类在重写时是否可以选择不抛出异常?

javaobject oriented programmingprogramming更新于 2024/8/26 10:12:00

如果超类方法抛出某些异常,则可以重写它而不抛出任何异常。

示例

在下面的示例中,超类的 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("超类的方法");
   }
}
public class ExceptionsExample extends Super {
   public void sampleMethod() {
      System.out.println("子类的方法");
   }
   public static void main(String args[]) {
      ExceptionsExample obj = new ExceptionsExample();
      obj.sampleMethod();
   }
}

输出

子类的方法

相关文章