重载
方法的重载英文为OverLoading,是指在一个类中定义相同名字,但参数不同的多个方法。调用时会根据不同的参数表达,来选择对应的方法,重载方法可以修改返回类型,也可以修改返回权限,但要注意不能只修改这两者,如果只是修改返回类型或访问权限那调用方法根本无法区分。实际调用的是哪个方法,简而言之,只要能够区分来方法,不会造成混淆 。
重写
方法的重写英文名为Overwrite或Override,是指子类覆盖父类的方法逻辑,子类的重写方法,必须和父类的被重写方法具有相同的方法名,参数列表和返回类型,并且重写方法不能使用比被重写方法更严格的访问权限,比如父类的方法是public子类的重写方法就不能为private。
总结:
重载发生在同一个类之间,重写发生在子类和父类之间。
重载必须得修改方法参数,重写不能修改方法参数