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

Posted 咱村唯一的架构师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中方法的重载和覆盖分别要满足的条件相关的知识,希望对你有一定的参考价值。

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

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

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

特别提醒:

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

2.覆盖(重写)的要求

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

以上是关于java中方法的重载和覆盖分别要满足的条件的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的重载与重写&隐藏与覆盖

java 方法的重载重写

Java面向对象编程之继承

什么是java方法重载

java中重载覆盖和隐藏三者的区别分析

java中关于重载与重写的区别