Java:方法重载和方法覆盖的异同

Posted 林海拾涛

tags:

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

方法重载和方法覆盖的相同点

  1. 都要求方法名相同;
  2. 都可以用于抽象方法和非抽象方法之间。

方法重载和方法覆盖的不同点

  1. 方法覆盖要求参数签名必须一致,而方法重载则要求参数签名必须不一致;
  2. 方法覆盖要求返回类型必须一致,而方法重载对此不做限制;
  3. 方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承来的方法);
  4. 方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制;
  5. 父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次。

以上是关于Java:方法重载和方法覆盖的异同的主要内容,如果未能解决你的问题,请参考以下文章

Java中的方法覆盖(Overriding)和方法重载(Overloading)是啥意思?

方法的重载和重写的异同之处

覆写(Override)和重载(Overload)的比较

Java学习笔记

什么是java方法重载

浅析Java重写(Override)与重载(Overload)的异同