Java 重写(Override)与重载(Overload)
方法覆盖/重写 (Override)
外壳不变,核心重写!
子类与父类的一种多态性表现!
同名,同参,同返回值,访问权限不缩小!
- 声明为 final 的方法不能被重写。
- 父类的成员方法只能被它的子类重写。
- 被重写的方法不能被缺省修饰符修饰。
- 参数列表与被重写方法的参数列表必须完全相同。
- 访问权限不能比父类中被重写的方法的访问权限更低.
- 声明为 static 的方法不能被重写,但是能够被再次声明。
- 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
- 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
- 重写的的返回值一旦抛出,那么这个异常就不能是新的异常,或者抛出的异常不能是范围更加广泛的异常类。
- 如果父类的返回值类型是基本数据类型,那么子类的返回值类型必须和父类一致。如果父类的返回值类型是引用数据类型,那么子类的返回值类型必须是父类的返回值类型或者父类返回值类型的子类。
重载 (Overload)
一个类的多态性表现
同名,不同参,返回类型、访问权限不要求

浙公网安备 33010602011771号