黑马程序员技术交流社区
标题:
请问,为什么子类覆盖父类的方法,必须确保子类抛出的异常要小于等于父类的异常?
[打印本页]
作者:
刘海陆
时间:
2013-6-1 10:37
标题:
请问,为什么子类覆盖父类的方法,必须确保子类抛出的异常要小于等于父类的异常?
请问,为什么子类覆盖父类的方法,必须确保子类抛出的异常要小于等于父类的异常?
作者:
littlefoxtail
时间:
2013-6-1 12:24
public class Parent {
public void a() throw AException {
}
}
public class Child extends Parent {
public void a() throw AException, BException {
}
}
public class Test {
public void main(String[] args) {
Parent p = new Child();
try {
p.a();//这里在调用者就不知道抛出BException了!这样就会导致一些问题
} catch(AException e) {
doSomething();
}
}
}
复制代码
如果我用多态的方式调用,也就是用父类的引用调用子类的方法,
子类抛出更多的异常,会导致无法捕获Exception异常
作者:
刘海陆
时间:
2013-6-1 16:09
顶顶顶,谢谢了,哈哈哈
作者:
殇_心。
时间:
2013-6-1 18:01
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2