重载:
发生在同一个类中,
方法名必须相同,参数类型不同,个数不同, 顺序不同,
方法返回值和访问修饰符可以不同,
发生在编译时。
重写:
发生在父子类中,
方法名,参数列表必须相同,
返回值范围小于等于父类,
抛出的异常范围小于等于父类,
访问修饰符范围大于等于父类;
如果父类方法访问修饰符为 private 则子类就不能重写该方法。
重载 | 重写 |
---|---|
同一个类中 | 父子类中 |
参数类型不同,个数不同, 顺序不同 | 方法名,参数列表必须相同 |
方法返回值和访问修饰符可以不同 | |
发生在编译 | |
返回值范围小于等于父类 | |
抛出的异常范围小于等于父类 | |
访问修饰符范围大于等于父类 |
如果父类方法访问修饰符为 private 则子类就不能重写该方法