在 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 次浏览

开启您的职业生涯

通过完成课程获得认证

开始使用
广告