方法重写的规则:
- 方法名相同
- 参数列表相同(数量,顺序,数据类型)
- 如果被重写的方法的返回值是void,重写的方法的返回值必须也是void;如果被重写的方法的返回值是基本数据类型,重写方法的返回值也必须是相同的基本数据类型;返回的类型如果是引用类型,重写的方法的返回值必须和被重写的返回值类型相同,或者是被重写方法返回值类型的子类。
- 子类重写的方法不能缩小父类被重写方法的访问权限,子类重写方法的访问权限必须大于等于父类被重写方法的访问权限。
- 重写对privae无效。
- 如果方法签名相同,父类和子类的方法必须同时为静态或者非静态。
- 不能抛出比父类更多的异常
- final方法不能被子类重写