java中覆盖必须满足的约束
- 子类方法的名称,参数何返回类型必须与父类一致。
- 子类方法不能缩小父类方法的访问权限
- 子类方法不能抛出比父类方法更多的异常
- 方法覆盖只存在于子类和父类,同一个类中方法只能被重载
- 父类的静态方法不能被子类覆盖为非静态方法
- 子类可以定义与父类的静态方法同名的静态方法
- 父类的非静态方法不能被子类覆盖为静态方法
- 父类的私有方法不能被子类覆盖
- 父类的抽象方法可以被子类通过两种途径覆盖:①实现抽象方法 ②再次定义为抽象方法由孙类实现或继续抽象
- 父类的非抽象方法可以被覆盖为抽象方法