优秀的编程知识分享平台

网站首页 > 技术文章 正文

Override和Overload的区别

nanyue 2025-03-03 19:34:34 技术文章 7 ℃

Java中的重写(Override)和重载(Overload)是面向对象编程中的两个重要概念。它们都可以提高代码的灵活性和可读性。重写主要关注于子类对父类方法的重新实现,而重载则关注于在同一个类中定义多个功能相似但参数不同的方法。在实际编程中,根据具体需求选择合适的方式来实现代码的功能。当子类的方法,需要在父类的方法基础上进一步扩展时,可以重写父类的方法。当完成某件事情可以有不同的方式时,可以将这些不同的方式定义成重载的方法。

重写(Override)

重写是子类对父类的允许访问的方法的实现过程进行重新编写。子类中可以使用与父类中相同名称、相同参数列表和相同返回类型的方法,以提供自己的实现。

访问修饰词

子类方法的访问权限大于等于父类方法的访问权限,父类方法访问权限是public,那么子类若想重写该方法必须用public。父类方法访问权限是protected,那么子类若想重写该方法必须用public/protected。父类方法访问权限是默认的,那么子类若想重写该方法必须用public/protected/默认。访问权限由小到大:private < 默认

Java访问控制级别-CSDN博客

方法返回值

若父类方法的返回值是void,则子类重写时,子类方法返回值必须也是void。若父类方法的返回值是基本类型,则子类重写时,子类方法返回值必须也是该基本类型。若父类方法的返回值是引用类型,则子类重写时,子类方法返回值可以是该引用类型也可以是该引用类型的子类。
子类方法的返回值可以是父类方法的返回值的子类,子类方法的返回值类型,要么和父类的相同,要么是父类返回值类型的子类 。

什么时候用重写

当子类需要父类的功能,而且子类需要有自己的实现时。方法重写时子类方法的访问权限必须大于或等于父类的访问权限。

方法重写作用

在父类中定义方法,子类里面会继承此方法,在父类中添加各种子类共同的行为方式。方法重写可以在父类的方法基础上做扩展。

重载(Overload)

重载是发生在同一个类上的关系,相同的方法名,不同的参数列表(参数个数、参数类型、参数顺序),重载对访问权限没要求,重载对返回值类型没要求。

最近发表
标签列表