如果父类中的某个方法“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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言程序设计
C++
C#
MongoDB
MySQL
Javascript
PHP