方法覆盖和方法重载是面向对象编程中两个不同的概念
方法覆盖:是在子类中定义一个与父类中具有相同方法签名的方法,来覆盖父类中的方法实现,子类通过覆盖父类的方法来改变或者扩展方法的行为。要求:子类中覆盖方法的访问修饰符不能比父类中的方法更严格;子类中覆盖方法的返回值类型必须与父类中的方法返回值类型兼容或者是其子类型;子类中覆盖方法不能抛出比父类方法更广泛的异常,即可以不抛出异常或者抛出与父类方法相同的异常
方法重载:是指在同一个类中定义多个方法名称相同但形参列表不同的方法,以便编译器根据传递的参数类型、个数和顺序来决定要调用的方法,常用于执行类似的操作,但对于不同的参数执行不同的逻辑。注意:方法的返回值类型可以不相同,方法的访问修饰符可以不相同
在Java中,方法的覆盖和重载是通过继承和多态性来实现的,可以根据需要选择使用方法覆盖或者方法重载来达到不同的编程目的