重载和重写是面向对象设计和开发中常用的两个概念。
这两个概念其实还是非常容易区分的。
如下面的类图所示,左边为Overriding(重写),右边为Overloading(重载)。
Overriding :是指在继承的情况下,子类 中定义了与父类 中型构一致,但方法体不一致 的方法。这也是实现多态的必要步骤。
Overloading :是指在同一个类 中定义了多个方法名相同,但是型构不同 的方法。
型构 就是指方法的组成结构,具体包括方法的名称和参数,涵盖参数的数量、类型以及出现的顺序,但是不包括方法的返回值类型,访问权限修饰符,以及abstract、static、final等修饰符。