首页 文章资讯内容详情

如果父类中的方法“抛出异常”,我们可以在Java中的重写方法中将其删除吗?

2026-06-04 1 花语

当超类方法在覆盖它时引发异常时,您需要遵循某些规则。

子类方法应该抛出Same异常,或者子类型-

它不应该抛出超级类型的异常-

您可以将方法保留在子类中而不会引发任何异常

根据第三条规则,如果超类方法引发某些异常,则可以覆盖它而不会引发任何异常。

示例

在下面的示例中,超类的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