重载就是同一个类中或父子类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。
而调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。
重写(覆盖)就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。
重写最大的特点是权限修饰符不能小于被重写方法的修饰符。且重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。
重写必须遵守两同两小一大原则
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。