方法重写的规则:
在继承关系的子类中
重写的方法名,参数,返回值类型必须与父类相同
私有方法不能继承因而无法重写
方法重载的规则:
在同类中
重载的方法名相同,参数列表不同,返回值可以相同可以不相同
方法重写 VS 方法重载
位置 | 方法名 | 参数表 | 返回值 | 访问修饰符 | |
方法重写 | 子类 | 相同 | 相同 | 相同 |
不能比父类更严格 (范围要么相等要么要大) |
方法重载 | 同类 | 相同 | 不同 | 无关 | 无关 |
另附访问修饰符的范围:
访问修饰符 | 本类 | 同包 | 子类 | 其他 |
private | Y | N | N | N |
friendly(默认) | Y | Y | N | N |
protected | Y | Y | Y | N |
public | Y | Y | Y | Y |