searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Java中重写与重载的区别和注意事项

2024-01-15 02:42:07
3
0

在Java中,重写(Override)和重载(Overload)是两个重要的面向对象概念。它们在语法上有区别,在使用上需要注意一些细节。

重写(Override)

  • 重写是子类对父类中的方法进行重新定义。

  • 重写的方法必须与父类方法拥有相同的名称、参数列表和返回类型。

  • 重写后子类对象调用此方法时,将执行子类中的方法体。

重载(Overload)

  • 重载是在同一个类中,方法名称相同但参数列表不同的多个方法。

  • 重载的方法名称必须相同,而参数列表和返回类型可以不同。

  • 编译器根据参数类型来区分调用哪个重载方法。

区别和注意事项

  • 重写强调子类对父类的扩展,重载强调一个类内的多种表现。

  • 重写必须保持一致,重载可以参数或返回类型不同。

  • 重写会覆盖父类方法,调用时动态绑定;重载在编译时静态绑定。

  • 重写使用@Override注解可以检查是否重写正确。

  • 重写返回类型不能比父类更宽泛,其他允许变化;重载完全自由设计。

重写的限制

  • 返回类型不能比被重写方法更宽泛。
  • 抛出的异常类型不能比被重写方法更通用。
  • 访问权限不能比被重写方法更弱。

重载的限制

  • 参数列表必须不同。
  • 参数类型和顺序都要不同。
  • 返回类型可以相同也可以不同。

注意事项

  • 区分重写和重载的语法规则。
  • 重写必须遵循“约定大于配置”原则。
  • 重载使用时需注意参数类型和顺序的影响。
  • 运用时机不同,重写实现继承关系,重载实现多态性。

总之,重写实现子类的特化,重载实现一个类的多种功能表现。两者在OOP中都很重要。

0条评论
0 / 1000
c****w
229文章数
0粉丝数
c****w
229 文章 | 0 粉丝
原创

Java中重写与重载的区别和注意事项

2024-01-15 02:42:07
3
0

在Java中,重写(Override)和重载(Overload)是两个重要的面向对象概念。它们在语法上有区别,在使用上需要注意一些细节。

重写(Override)

  • 重写是子类对父类中的方法进行重新定义。

  • 重写的方法必须与父类方法拥有相同的名称、参数列表和返回类型。

  • 重写后子类对象调用此方法时,将执行子类中的方法体。

重载(Overload)

  • 重载是在同一个类中,方法名称相同但参数列表不同的多个方法。

  • 重载的方法名称必须相同,而参数列表和返回类型可以不同。

  • 编译器根据参数类型来区分调用哪个重载方法。

区别和注意事项

  • 重写强调子类对父类的扩展,重载强调一个类内的多种表现。

  • 重写必须保持一致,重载可以参数或返回类型不同。

  • 重写会覆盖父类方法,调用时动态绑定;重载在编译时静态绑定。

  • 重写使用@Override注解可以检查是否重写正确。

  • 重写返回类型不能比父类更宽泛,其他允许变化;重载完全自由设计。

重写的限制

  • 返回类型不能比被重写方法更宽泛。
  • 抛出的异常类型不能比被重写方法更通用。
  • 访问权限不能比被重写方法更弱。

重载的限制

  • 参数列表必须不同。
  • 参数类型和顺序都要不同。
  • 返回类型可以相同也可以不同。

注意事项

  • 区分重写和重载的语法规则。
  • 重写必须遵循“约定大于配置”原则。
  • 重载使用时需注意参数类型和顺序的影响。
  • 运用时机不同,重写实现继承关系,重载实现多态性。

总之,重写实现子类的特化,重载实现一个类的多种功能表现。两者在OOP中都很重要。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0