重载与重写是java多态性的不同表现。
重载:
一个类中定义了多个同名的方法,它们的参数个数或者参数类型不同,称之为重载。重载让类以统一的方式处理不同的类型数据,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,它是一个类中多态性的表现。
重载的返回类型可以相同也可以不同。
重写:
重写是父类与子类多态性的表现,在子类中定义某方法与其父类有相同的名称和参数,且方法的返回值类型与抛出异常的类型各自与父类的一致,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。