一、重写条件:
1、子类方法名必须与被覆盖方法名一致
2、子类方法访问修饰符权限必须等于或大于被覆盖方法的访问修饰符权限
3、子类方法的返回值类型必须与被覆盖方法返回值类型一致
4、子类方法抛出异常必须等于或小于被覆盖方法所抛出的异常
5、子类方法的参数列表必须与被覆盖方法的参数列表一致
作用:
提高了代码的可扩展性和重复性,提高了写代码的效率
二、重载条件:
1、方法名一致,参数列表不一致
2、方法的返回类型和方法的修饰符可以不相同
作用:
提高了代码的扩展性,但不是所有的方法都适合使用重载, 逻辑基本一致才使用重载,过多重载可能造成调用混乱