重写 与 重载

重写(Override)和重载(Overload)是面向对象编程中的两个重要概念,主要区别如下:

定义不同

  • 重写:指子类重新定义父类中已有的方法。要求方法名、参数列表、返回值类型完全相同,目的是改变父类方法的实现逻辑。
  • 重载:指在同一个类中,存在多个方法名相同但参数列表不同(参数个数、类型或顺序不同)的方法。返回值类型可以不同,目的是让方法根据不同参数完成类似功能。

发生范围不同

  • 重写发生在父类与子类之间
  • 重载发生在同一个类内部

多态性体现不同

  • 重写是运行时多态的体现,程序运行时根据对象实际类型调用对应方法。
  • 重载是编译时多态的体现,编译时根据参数类型确定调用哪个方法。

你可能感兴趣的:(Java,算法)