存在异常的方法的重写规则:
重写后的方法不能抛出新的异常(抛出新的异常必须在父类方法中也声明)或者比被重写方法声明的检查异常更广的检查异常;但是可以抛出更少,更有限或者不抛出异常。
总结:
如果父类方法存在异常,子类重写此方法后,只能抛出父类中声明的异常或父类中声明的异常的子类,也可以不抛出。
如果父类方法不存在异常,则子类不能抛出异常。
存在异常的方法的重写规则:
重写后的方法不能抛出新的异常(抛出新的异常必须在父类方法中也声明)或者比被重写方法声明的检查异常更广的检查异常;但是可以抛出更少,更有限或者不抛出异常。
总结:
如果父类方法存在异常,子类重写此方法后,只能抛出父类中声明的异常或父类中声明的异常的子类,也可以不抛出。
如果父类方法不存在异常,则子类不能抛出异常。