立即学习:https://edu.csdn.net/course/play/27126/355506?utm_source=blogtoedu
覆盖(Override)同名同参,子类覆盖父类方法
两大准则
1.子类方法不能缩小父类方法的可见范围(会报语法错误)
违背面对对象思想的“父类定义通用属性和方法”原则
如果子类设置方法不可见,会导致外部无法调用该方法
2.在子类覆盖父类方法时,不能抛出比父类更宽泛的异常(比如父类抛出IOException,子类抛出Exception, 也会提示语法错误)
父类定义的方法原型是外部调用的规范,如子类方法扩大了异常类型,会造成外部调用时, 无法锤抛出的异常
重载
方法同名, 不同参数,不看参数名和返回类型
能分离业务和业务实现细节
同类业务,可以用同名的方法来定义和实现,从而提升代码可读性
方法同名表示“业务相同”,不同参数则表示”实现细节不同“
两者解耦合,能提升代码可拓展性
重复(语法错误)
方法同名,同参数, 不同参数名
方法同名,同参数,不同返回值