[Java] 使用 @Override 注释的好处

本文详细阐述了Java中重写(override)与重载(overload)的区别,包括它们在类与继承中的应用方式。解释了重写方法如何通过继承实现多态,而重载方法则关注同一类中方法签名的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重写函数和重载函数区别:

  • 重写的方法分散于不同的类中,因继承关系而关联。重载的方法可以在同一个类中,也可以在有继承关系的不同类中
  • 重写的方法有相同的签名和返回类型; 重载的方法有相同的方法名,但参数列表不同

为了避免错误,可以使用特殊的Java 语法,称为override annotation (重写注释),将 @Override 放在子类中的方法之前。例子:

public class CircleFromSimpleGeometricObject 
    extends SimpleGeometricObject {
    // other methods are omitted
    
    @Override
    public String toString() {
        return super.toString() + "\nradius is " + radius;
    }
} 

这个注释表示,被注释的方法必须重写超类中的方法。如果带有这个注释的方法没有重写超类中的方法,编译器将会报告错误。例如,如果 toString 误写成 tostring, 将会出现编译错误。如果没有这个注释,编译器不会报告错误。所以使用 @Override 可以避免错误。

( 一本Java书上翻译的:11.5 Overriding vs. Overloading)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值