java中覆盖和重载的区别
- 子类继承了父类,但重写了父类的方法,因此虽然是从父类中拿到的方法但重写之后与父类方法有了区别,因此称为覆盖(即子类方法覆盖了父类方法)
- 重载的含义,一个类中可以有多个同名不同参(参数列表不同)的方法。
区别 | 覆盖(override) | 重载(overload) |
---|---|---|
实现上 | 子类对父类方法的重写 | 同一个类中建立多个同名方法 |
参数 | 与父类同名同参 | 与别的方法同名不同参 |
返回 | 子类与父类返回类型要一致 | 无此要求 |
权限 | 子类不能覆盖父类的private方法 | 无此要求 |
父类一个方法只能在子类覆盖一次 | 重载只要参数不同,可以多次 | |
覆盖是针对父类方法的重写 | 同类中的方法均可重载 | |
重写要求子类比父类抛出更少的异常 | 无此要求 |
一张图表明覆盖和重载的区别
覆盖 Override
public