只是看看下面的程序..我学习异常在Java中处理(基本上是继承)
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");
}
}
}
编译时错误.....不能覆盖M1()方法
现在如果在父类中将IOException异常替换为子类中的RemoteException,反之亦然。然后它正在编译。
任何其他检查的异常组合在这里都不起作用,即使我使用的检查异常处于同一级别。
现在我很困惑,为什么重写只发生在一种情况下,而不是在其他情况下发生? 我会真的很感谢你的回答。
非常感谢。 现在我已经试过你所说的,它正在工作 – user392675 2010-08-19 11:14:28
围绕这些部分的礼仪,因为你标记了你认为正确的答案是正确的。 – 2010-08-19 15:58:53