package 异常;
public class 子父类覆盖方法的异常体现 {
public 子父类覆盖方法的异常体现() {
// TODO 自动生成的构造函数存根
}
/*
* 第一,子类覆盖父类方法时,子类只能抛出父类的异常或异常的子类
* 第二,父类抛出多个异常,子类不能多于父类的异常,
* 第三,子类的新异常,只能内部处理,不能跑
* 原因是,防止早期程序不能处理新异常。
*/
// 用代码体现原因:
// class test()
// void fuction(fu f)
// try
// f.method();
// catch(Aexception e)
// class Demo
// test t =new test()
// fuction(zi z);//多态,父类变量引用子类变量,子类对象调用已经父类的method()
//
//fu类继承zi类,父类有method方法,子类覆盖(复写 override)父类的method方法。
// 父类method方法抛出A异常,子类如果抛出继承A异常的B异常,那么问题还可以解决
// 如果子类抛出C异常,与A并无继承关系,那么在发生多态时,就无法处理新出现的
// C异常。
}`
子父类覆盖方法的异常体现
最新推荐文章于 2019-07-29 18:08:20 发布