方法重载与方法重写

方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

满足条件

  • 多个方法在同一个类中
  • 多个方法具有相同的方法名
  • 多个方法的参数不同(类型或数量不同)

注意事项

  • 重载仅对应方法的定义,与方法的调用无关
  • 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关

方法重写

子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖

注意事项

  • 子类的方法声明必须与父类一致(方法名一样,参数列表也必须一样)
  • 父类的私有方法不能被重写(父类的私有成员不能被继承)
  • 子类方法的访问权限不能比父类更低,通常保持一致即可(public > 默认 > 私有)

对比

  • 方法重载是同一个类中的多个方法,方法重写是父类与子类之间的
  • 方法重载可以是多个方法之间,方法重写只能是一对方法(父类子类对应的)
  • 方法重载要求参数列表不同,方法重写要求参数列表相同
  • 方法重载,是根据调用时的实参表与形参表来选择方法体的。方法重写,是根据调用该方法的对象的类型(对象对应存储空间类型)来决定。
原文地址:https://www.cnblogs.com/Rainbow-sea/p/12520186.html