在 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP