小编use*_*675的帖子

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"); }

} }
Run Code Online (Sandbox Code Playgroud)

编译时错误.....无法重写 m1() 方法

现在,如果我将父类中的 RemoteException 替换为 IOException ,反之亦然。然后就是编译了。

即使我使用同一级别的检查异常,任何其他检查异常组合在这里都不起作用。

现在我很困惑为什么覆盖仅在一种情况下发生,而不在其他情况下发生???我将非常感谢您的回答。

java

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1