黑马程序员技术交流社区
标题:
关于异常的声明?
[打印本页]
作者:
王维波
时间:
2011-11-4 21:58
标题:
关于异常的声明?
为什么覆盖的方法不能声明异常?
该贴已经同步到
保持常态0616的微博
作者:
邱本超老师
时间:
2011-11-4 22:01
重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。
一个方法是否显示抛出异常对于重写是没用影响的,只是对调用者有影响,对于使用者来说如果你抛出的是一个未报告的异常那他就要必须使用trycatch来捕获异常了。而且你要注意如果说你显示抛出一个UnsupportedOperationException之类的异常,调用该方法可以不用自己来亲自捕获异常的,可以直接再往上次抛。RuntimeException异常类以及其子类都属于此范畴,调用者可以不用自己去捕获异常的!
作者:
张邦庆
时间:
2011-11-4 22:25
方法的覆盖就涉及到了重写父类的方法,子类捕获异常只能是继承父类的异常,不能抛出新的异常,范围只能小不能多于父类异常,重载就不需要考虑了
作者:
肖瑞军
时间:
2011-11-4 22:41
覆盖方法是实现多态的关键,考虑一下多态的场合,调用方法的时候如果需要捕获异常,只能捕获父类中方法声明可能抛出的异常,而如果允许子类抛出新的异常,这时候就无法处理了。{:soso_e100:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2