子类继承父类方法
2019-01-30 本文已影响0人
MacDonald
父类方法抛出异常,子类继承父类,重写父类方法时,抛出的异常“子类抛出的异常类型不能比父类抛出的异常类型更宽泛”。
class Father {
public void method() throws RuntimeException {
}
}
class Child extends Father {
@Override
public void method() throws IllegalArgumentException, IllegalStateException {
super.method();
}
}
这里IllegalArgumentException, IllegalStateException
都是RuntimeException
的子类, 则可以抛出多个。
如果子类继承方法抛出的异常其中之一不是RuntimeException
及其子类,则编译不通过。