Demo.java:
package cn.xxx.demo;
/*
* 继承中,在子类重写父类方法的时候,对异常的处理
* 结论:
* 父类的方法,如果抛出异常,子类重写后
* 可以不抛出异常
* 也可以抛出异常,但是,如果子类要抛,抛出的异常不能大于父类的异常 (原因:多态调用)
* 大于,是指的继承关系
*
* 父类的方法,没有异常抛出,子类重写后
* 也不能抛出异常
* 如果子类中调用了抛出异常的方法,别无选择,只能try..catch处理
*/
public class Demo {
public static void main(String[] args) {
Fu f = new Zi();
f.function();
}
}
class Fu{
public void function(){ // 父类方法没有声明异常
}
}
class Zi extends Fu{
public void function(){ // 子类方法也不能声明异常
try { // 如果有异常,必须try...catch处理。
method();
} catch (Exception e) {
e.printStackTrace();
}
}
public void method()throws Exception{
}
}