SHOHOKU_10837755 2013-09-12 10:37
浏览 559
已采纳

java 重写,父类不抛异常,子类抛异常,为什么不可以?

[code="java"]public class Panda extends Base{
//报错如下:
// Multiple markers at this line
// - overrides com.xb.Base.amethod
// - Exception Exception is not compatible with throws clause in
// Base.amethod(int)
public void amethod(int i) throws Exception{}
}

class Base
{
public void amethod(int i){}
}[/code]

  • 写回答

3条回答 默认 最新

  • iteye_20264 2013-09-12 10:53
    关注

    这就是java的重写规则。
    对于异常重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?