抛异常与重写

fy971676038 2014-10-16 09:18:11
无论是继承Thread 的run方法还是实现runnable接口的run方法,都不能抛出异常;原因是因为重写方法抛异常的范围不能发育被重写方法抛异常的范围;这句话怎么理解哦?
...全文
139 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmchina7 2014-10-16
  • 打赏
  • 举报
回复
意思是加入我有个方法doSome 我原本的异常为AException 你在继承doSome的时候 只能抛出AException或者AException的子类 其他的和A异常无关的异常或者A异常的父类异常你不可以抛出 子类异常的范围比父类的小你应该知道吧 try catch的时候定义抓取AException的话 他的子类异常也可以被抓去 所以可以理解为父类异常的范围大 如果你的继承方法抛出了BException他和AException没关系 无所谓谁的范围大 这样也不行 你只能抛出A异常或其子类异常 有人事这样解释的 你可以试着理解:既然你继承了我的方法 你的目的是要在我的方法基础上进行完善 但是如果你不但没有完善试异常变得更小 反而是异常变得更多(或者更大了)这我是决不同意的 你还是别继承我了 和你断绝父子关系 吼吼

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧