子类异常和父类异常捕获的关系
2015-11-08 21:56
288 查看
class ExampleA extends Exception{ private String a=null; //这里必须加上无参的构造函数,因为自己定义了有参的构造函数,则会覆盖原来无参构造函数 //但是子类构造对象时候会先调用父类的构造函数,其中会默认先调用super方法,该方法是调用父类的无参构造函数,若没有定义就会报错 public ExampleA(){}//所以必须写出无参的构造函数,写了有参就要写无参,除非程序不再调用无参的,否则调用就会报错 public ExampleA(String a){ this.a=a; } } //当构造对象时候就会默认调用super方法,先调用父类的无参构造函数,super默认调用的 class ExampleB extends ExampleA{ private String b=null; public ExampleB(String b){ this.b=b; } } //最后的输出仅仅只是Example public class Test7 { public static void main(String[] args) { // TODO Auto-generated method stub //这里抛出一个ExampleB类对象的一个异常 try{ throw new ExampleB("b"); //这里先catch该父类ExampleA中异常 }catch(ExampleA e){ //若捕获到就输出EXampleA System.out.println("ExampleA"); //这里数ExampleA的父类,但是这里捕获不到异常new ExampleB(“b”)异常了,因为异常已经被子类ExampleA捕获走了,除非子类捕获不到的异常才会执行捕获 //但是如果先catch父类的异常,子类的异常就会失效,不会执行 }catch(Exception e){ //所以该catch语句就不会执行了,即不会再输出”Example“ System.out.println("Example"); } } }
相关文章推荐
- css 继承和层叠
- Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
- JavaScript 的同源策略
- 对java中多态的深刻理解
- hdoj(1176 免费馅饼
- 浅谈科研
- Android Studio快捷键
- DP--POJ - 2096 Collecting Bugs
- 说说Golang的使用心得
- LeetCode -- Bulls and Cows
- mybatis+spring配置
- Jquery 获取checkbox的checked问题
- 20135205信息安全系统设计基础第九周学习总结
- LeetCode OJ:Search a 2D Matrix II(搜寻二维矩阵)
- C语言实现链表之单向链表(十五)测试用例
- Android:Serializable接口和Parcelable接口
- 开始编写Golang代码
- 「喵神成长史」『布局篇』RelativeLayout(相对布局)
- CSAPP学习笔记(异常控制流1)
- 招聘会有感