java方法重写中声明异常的原则

子类声明异常的范围不能超过父类声明的范围:

    1. 父类没有声明异常,子类也不能;

    2.不可以抛出原有方法抛出异常类的父类或者上层类

    3.抛出的异常类型数目不可以比原有方法抛出的还多

例如:

import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.time.format.DateTimeParseException;
import java.util.zip.DataFormatException;
public  class A {
   public void s() throws IOException{  }
}
class B extends A{
  public void s() throws FileNotFoundException{ }
}
class C extends A{
  public void s(){ }
}
class D extends A{
  public void s() throws IOException,FileNotFoundException{ }
}
class E extends A{
  public void s() throws IOException,ArithmeticException,DateTimeParseException{ }
}
class F extends A{
  public void s() throws Exception{ }//拋出了父类抛出异常类的父类,错误
}
class G extends A{
  public void s() throws IOException,DataFormatExceptionException{ }
    //错误,因为DataFormatExceptionException的父类也是Exception,所以超出了范围
}
---------------------
作者:m_target
来源:CSDN
原文:https://blog.csdn.net/m_target/article/details/80397579
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-05-14 21:25  天涯海角路  阅读(819)  评论(0)    收藏  举报