Java注解@override

诸神缄默不语-个人优快云博文目录

在Java中,@Override是一个注解(Annotation),用于表明一个方法应该重写(Override)一个父类中的方法。

1. 使用@override的优点

一、代码可读性方面

  1. 明确意图
    • 当其他开发者阅读代码时,@Override注解能够清晰地表明这个方法是故意重写父类方法的。例如,在一个继承自Animal类的Dog类中,如果有一个makeSound方法标记了@Override,就可以很容易理解这个方法是在重写Animal类中的同名方法。
  2. 遵循设计模式
    • 在面向对象编程中,遵循里氏替换原则(Liskov Substitution Principle)1是很重要的。使用@Override有助于确保子类正确地重写了父类方法,符合这种设计原则。

二、编译时检查方面

  1. 防止错误拼写
    • 如果方法名拼写错误或者参数列表不匹配父类中的方法,编译器会报错。例如,在Animal类中有一个eat方法,子类Cat中想要重写它,但是不小心写成了eatFood(没有正确重写),如果没有@Override注解,这个错误可能不会被及时发现,而有了这个注解,编译器就会提示错误。
  2. 方法签名匹配检查
    • 它还能确保方法的返回类型、异常类型等都符合重写的要求。比如父类方法返回int类型,子类重写方法不能返回double类型;父类方法抛出IOException,子类重写方法不能抛出更宽泛的未检查异常(如RuntimeException)而没有特殊处理。

2. 简单的示例

class Shape {
    public void draw() {
        System.out.println("Drawing a shape");
    }
}

class Circle extends Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a circle");
    }
}

在这个例子中,Circle类中的draw方法使用了@Override注解来表明它是对Shape类中draw方法的重写。


  1. 里氏替换原则(Liskov Substitution Principle,LSP):面向对象设计的基本原则 ↩︎

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值