给你看一段代码吧- abstract class Shape { //定义一个几何图形抽象类,
- public abstract int getArea() throws MyException2; //声明一个计算面积的抽象方法
- }
- class Rectangle extends Shape { //定义一个矩形类
-
- private int len, width;
-
- public Rectangle(int len,int width) {
- this.len = len;
- this.width = width;
- }
- public int getArea() throws MyException2 { //重写父类的抽象方法
-
- if(len <= 0 | width <= 0) {
- throw new MyException2("输入的数据错误");
- } else {
- return len*width;
- }
- }
- }
复制代码 1.父类方法抛异常,子类覆盖他时只能抛该异常或该异常的子类,否则编译无法通过。
2.父类方法没有抛任何异常时,子类也不能抛,只能在本方法中用try.....catch语句捕捉。 |