java中方法的重载和覆盖分别要满足的条件

1.重载:遵循“两同三不同”

两同:同一个类中的同名方法

三不同:形参的类型,个数,顺序不同

特别提醒:

  • 返回值不同构不能方法重载
  • 形参名称不同构不成方法重载

2.覆盖(重写)的要求

  1. 子类方法的名称,返回类型必须与父类一致。
  2. 子类方法不能缩小父类方法的访问权限
  3. 子类方法不能抛出比父类方法更多的异常
  4. 方法覆盖只存在于子类和父类,同一个类中方法只能被重载
  5. 父类的静态方法不能被子类覆盖
  6. 子类可以定义与父类的静态方法同名的静态方法
  7. 父类的非静态方法不能被子类覆盖为静态方法
  8. 父类的私有方法不能被子类覆盖
  9. 父类的抽象方法可以被子类通过两种途径覆盖:①实现抽象方法 ②再次定义为抽象方法由孙类实现或继续抽象
  10. 父类的非抽象方法可以被覆盖为抽象方法

猜你喜欢

转载自www.cnblogs.com/leiblog/p/11588292.html
今日推荐