重写的规则
1.参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
2.返回的类型必须一直与被重写的方法的返回类型相同,或者小于父类的方法类型。(java 重写方法 返回值类型可以小于等于父类方法的返回值类型)
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如:父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。
重载的规则
1.方法重载方法名必须相同,参数列表中的顺序,类型,个数不同,构造方法不能被重写
2.声明为 final 的方法 不能被重写
3.声明为 static 的方法不存在重写(重写和多态联合才有意义);访问权限不能比 父类更低
4.重写之后的方法不能抛出更宽泛的异常