Java异常在方法覆盖时的原则

先提出问题:父类的方法需要抛出异常,子类的方法是否要同样抛出异常?抛出同样的异常?能否抛重点内容出父类没有的异常?还是一定要抛出父类所抛出异常范围内的异常?
这种情况下三个原则:
1、子类重写父类方法要抛出与父类一致的异常,或者不抛出异常
2、子类重写父类方法所抛出的异常不能超过父类的范畴(仅指检查型异常)
备注:子类重写的方法可以抛出任何运行期异常
3、子类在重写父类的具有异常声明的方法的同时,又去实现了具有相同方法名称的接口且该接口中的方法也具有异常声明,则子类中的重写的方法,要么不抛出异常,要么抛出父类中方法声明异常与接口中方法声明的异常的交集

猜你喜欢

转载自blog.csdn.net/gxwzmm/article/details/79973053
今日推荐