Java 方法重写规则
javajava programming java 8
以下是我们在正确重写方法时应考虑的规则 −
- 参数列表应与重写方法的参数列表完全相同。
- 返回类型应与超类中原始重写方法中声明的返回类型相同或为其子类型。
- 访问级别不能比重写方法的访问级别更严格。例如:如果超类方法被声明为 public,则子类中的重写方法不能是 private 或 protected。
- 仅当实例方法被子类继承时,才可以重写它们。
- 声明为 final 的方法不能被重写。
- 声明为 static 的方法不能被重写,但可以重新声明。
- 如果方法不能被继承,则不能被重写。
- 与实例的超类位于同一包中的子类可以重写任何未声明为 private 或 final 的超类方法。
- 不同包中的子类只能重写声明为 public 或 protected 的非 final 方法。
- 重写方法可以引发任何未检查异常,无论被重写的方法是否引发异常。但是,重写方法不应抛出比被重写方法声明的异常新的或范围更广的受检异常。重写方法可以抛出比被重写方法范围更窄或更少的异常。
- 构造函数不能被重写。