看看下面的程序..
import java.io.*;
import java.rmi.*;
class class1
{
public void m1() throws RemoteException
{
System.out.println("m1 in class1"); } }
class class2 extends class1
{
public void m1() throws IOException
{
System.out.println("m1 in class2");
} }
class ExceptionTest2
{
public static void main(String args[])
{
class1 obj = new class1();
try{
obj.m1();
} catch(RemoteException e){ System.out.println("ioexception"); }
} }
Run Code Online (Sandbox Code Playgroud)
编译时错误.....无法重写 m1() 方法
现在,如果我将父类中的 RemoteException 替换为 IOException ,反之亦然。然后就是编译了。
即使我使用同一级别的检查异常,任何其他检查异常组合在这里都不起作用。
现在我很困惑为什么覆盖仅在一种情况下发生,而不在其他情况下发生???我将非常感谢您的回答。
java ×1