子类不能抛出新的异常
来源:互联网 发布:淘宝vr购物在哪里打开 编辑:程序博客网 时间:2024/05/17 12:50
主要是为了满足多态调用。
子类和父类的关系是is-a。
子类是一个父类,凡是使用父类的地方,也可以用子类代替。如果子类比父类多抛出异常,就破坏了这一原则。
public class Parent {public void a() throws AException {}}public class Child extends Parent {public void a() throws AException, BException {}}public class Test {public void main(String[] args) {Parent p = new Child(); // 多态try {p.a();//这里在调用者看不到BException,当然不会catchBException!这样一旦Child抛出BException,将无法处理。} catch(AException e) {doSomething();}}}
通俗的说:(来自论坛Mybeautiful的回复)
1。我要你帮忙买瓶酒,你说如果买不到的话,打个电话告诉我。所以我做好了接电话的准备
2。然而你让你儿子帮我买酒,没有买到,发了个QQ给我。我并没有收到通知,因为我不知道QQ为何物。
1 0
- 子类不能抛出新的异常
- 子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
- 子类不能抛新的异常
- 子类重写父类的方法时声明抛出异常不能比父类范围大
- 方法覆盖子类不能抛出比父类范围更大的异常
- JAVA为什么子类继承父类方法之后,不能抛出比父类更多的异常?
- 子类重写父类的方法时声明抛出异常不能比父类范围大
- JAVA为什么子类继承父类方法之后,不能抛出比父类更多的异常?
- Java中子类抛出异常的规则
- Java 中子类重写父类的方法时声明抛出异常不能比父类范围大
- 子类重写父类的方法时声明抛出异常不能比父类范围大(转)
- 为什么java中子类重写父类的方法时声明抛出异常不能比父类范围大
- 子类重写父类的方法时声明抛出异常不能比父类范围大(转自http://chenpingtai2008.javaeye.com/blog/246435)
- java中switch语句的case中不能抛出异常?
- C++类的析构函数不能抛出异常
- 析构函数中不能抛出异常的原因
- Java中关于子类覆盖父类的抛出异常问题
- lucene 抛出的异常
- android gradle配置文件
- Java数据结构(1)
- postgresql使用及操作
- ORA-00257:archiver error.Connect internal only, until freed
- 【腾讯云的1001种玩法】如何使用腾讯云做博客
- 子类不能抛出新的异常
- 如何用EDIUS手绘遮罩功能
- java怎么实现多线程同步
- bzoj 1070: [SCOI2007]修车(费用流)[省选计划系列]
- 技术总结
- poj Find The Multiple(DFS,BFS)
- YOLO源码详解(二)- 函数剖析
- Unix时间与DateTime转化
- 匍匐前行-----我的2016