继承的时候,子类如果是覆盖父类方法的时候。如果父类方法抛出了异常,那么子类可以抛父类抛的那个异常或者那个异常的子类,要么就别抛异常。上图中 子类的show方法要么抛AException,要么抛BException,要么就别抛。抛CException的话,这个CException不继承AException,也不是AException。所以编译不通过。有的同学就问了。那我如果子类的确发生了CException怎么弄呢? 那这样的话,只能去子类的方法中去try处理,不能抛CException出来。就是子类重写的方法如果真发生了异常,而这个异常不属于父类这个方法抛的异常的子类。那么就子类自己内部try-catch-finally处理吧,别抛出来了。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!