A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

父类异常时,子类会不会也继承了异常呢?该怎么对待呢

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

5 个回复

倒序浏览
子类重写父类的方法时声明抛出异常不能比父类范围大
在java 中,当我们子类要重写父类中的方法,如果父类的方法有异常声明,那么子类重写这个方法时候,所要声明的异常不应该比父类的大。只能是小等,或者可以没有。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
子类覆盖父类方法时,如果父类抛出异常,子类要抛出父类的异常或其子类异常活着不抛!
回复 使用道具 举报
   不行了 ,还有这个问题,从来没有注意到过 。  但是说下我的理解吧
   子类覆写了父类的方法,你要调用的时候一般也是要调用子类吧,父类的方法有时候是给子类来调用的
这个在写的时候就应该清楚的,子类在覆写这个方法时候,我觉得如果知道这个方法要抛出异常,还是要try的

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
子类如果继承有异常方法的父类:1.抛父类的同样异常;2.抛父类异常的子类;
如果父类没有抛异常则子类不可以抛异常...

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
1如果父类抛出异常,子类覆盖的方法只能抛出父类的的异常或者是父类异常的子类。当然也可以不抛。但是若是子类发生了其他类型的异常则只能处理,而不能再抛了。
2若是父类抛出多个异常,那么子类只能抛异常的子类。
3那么如果是父类没有异常抛出,子类又当如何呢?结果是子类也不能抛异常了。如果有异常发生,则只能处理。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马