Java--方法重载与方法覆写(方法重写)的区别

方法重载(Overload):https://mp.csdn.net/postedit/88760397

方法覆写(Override): https://mp.csdn.net/postedit/90241938

1.概念不同

  • 重载:方法名相同,参数的列表或返回值不同,与返回类型无关
  • 覆写:方法的名称、返回值类型、参数类型及个数完全相同

2.关系不同

  • 重载:同一个类中方法之间的关系,是水平关系
  • 覆写:子类和父类之间的关系,是垂直关系

3.使用范围不同

  • 重载:用于一个类
  • 覆写:两个类的继承关系

4.权限不同

  • 重载:没有权限要求
  • 覆写:被覆写的方法不能拥有比父类更严格的访问控制权限

5.参数列表的要求不同

  • 重载:要求参数列表不同
  • 覆写:要求参数列表相同

6.

  • 重载关系中,调用哪个方法体,根据调用时的实参与形参来选择方法体;
  • 覆写关系中,调用哪个方法体,根据对象的类型(对象对应存储空间类型)来决定

7.

  • 重载针对一个方法可以被多次重载;
  • 覆写针对一个父类方法只能被子类覆写一次

你可能感兴趣的:(Java)