Java八股之重写(override)和重载(overload)的区别

张开发
2026/4/17 13:18:12 15 分钟阅读

分享文章

Java八股之重写(override)和重载(overload)的区别
重写override和重载overload的区别重载是指在同一个类或同一个继承结构中的不同类中存在多个方法具有相同的名称但它们的参数列表不同包括参数的个数、类型和顺序。重载与方法的返回类型和权限修饰符无关即重载方法可以有不同的返回类型和权限修饰符。重载与继承无关即重载可以发生在同一个类中也可以发生在子类对父类方法的重载中。重写是指子类对父类中的方法提供一个新的实现。为了实现重写子类中的方法必须满足以下条件方法名和参数列表必须与父类中的方法完全相同。返回类型必须与父类方法的返回类型兼容类型相同或者在子类中使用父类方法返回类型的子类型。访问权限不能比父类方法的访问权限更严格。例如如果父类方法是protected子类方法不能是private。最简回答重写override指的是子类重新实现了父类中已有的方法子类的方法具有相同的名称、参数列表和返回类型兼容。重载overload指的是在同一个类中定义了多个方法它们具有相同的名称但参数列表不同。重写主要涉及继承和多态性而重载则是在同一个类中的方法之间进行区分。简而言之重写是对已有方法的重新实现而重载是创建具有相同名称但不同参数的多个方法。

更多文章