1,子类重写父类方法要抛出与父类一致的异常,或者不抛出异常 2,子类重写父类方法所抛出的异常不能超过父类的范畴。。
这样的写法是没有问题的。父类抛出的异常包含所有异常。 - class A {
- public void fun() throws Exception {
-
- }
- }
- class B extends A {
- public void fun() throws IOException, RuntimeException {
-
- }
- }
复制代码 这样写法是出错的,子类IOException超过了父类的异常范畴
- class A {
- public void fun() throws IOException {
-
- }
- }
- class B extends A {
- public void fun() throws IOException, RuntimeException, ArithmeticException {
-
- }
- }
复制代码
这样写也是可以的。。可以不抛出异常
- class A {
- public void fun() throws Exception {
- }
- }
- class B extends A {
- public void fun() {
- }
- }
复制代码
|