5.5.3 重写方法的说明
(1)在面向对象程序设计中,子类中可以重写父类中任何现有方法。
(2)重写函数的函数名必须相同,参数列表必须相同。
(3)子类重写父类的函数的时候,函数的访问权限必须大于等于父类的函数的访问权限,否则编译报错。(https://www.daowen.com)
(4)子类重写父类的函数的时候,返回值类型必须是父类函数的返回值类型或该返回值类型的子类。不能返回比父类更大的数据类型。如子类函数返回值类型是Object时就会编译报错。
(5)重写方法时要求与被重写的父类方法中的异常一致,不能抛出新的异常或者比被重写方法声明更加宽泛的异常,即要么与被重写方法抛出的异常一致,要么是重写方法抛出异常的子类。例如,父类的一个方法声明了一个检查异常IOException,但是在重写这个方法的时候不能抛出Exception异常,因为Exception是IOException的父类,只能抛出IOException或其子类异常。
(6)当子类重写了父类的函数,那么子类的对象如果调用该函数,一定调用的是重写过后的函数。