重写(overwrite)
父类与子类之间的多态性,对父类的函数进行重新定义。重写继承到的那个方法的代码,原方法被放弃。子类继承了父类的同名有参函数。当子类继承了父类的一个同名方法,且方法参数不同,称为重写。通过方法的重写,子类可以重新实现父类的某些方法,使其具有自己的特征。重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法。子类函数的访问修饰权限不能低于父类的。
重载(overload)
重载是一个类中多态性的一种表现。完全新的方法,参数和原方法不同。当前类的同名方法。通过方法的重载,一个类可以有多个具有相同名字的方法,返回值类型可以相同也可以不相同,由传递给它们不同的个数和类型的参数来决定使用哪种方法。无法以返回类型作为重载函数的区分标准。
重写与重载的区别在于
重写是子类覆盖父类的方法,要求方法名和参数都相同,子类方法的可访问性可以与父类方法的可访问性相同,或更公开。
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但含有不同的参数,即参数个数、类型或顺序不同。