java中的@Override标签

本文介绍@Override标签在Java中的作用及好处,包括帮助检查方法重写的正确性,提高代码可读性和编译器验证。通过实例展示如何使用@Override避免错误。

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

本文章转载自:https://www.cnblogs.com/ttzz/p/8455325.html

@Override标签的作用:

@Override是伪代码,表示方法重写。

@Override标签的好处:

1.作为注释,帮助自己检查是否正确的复写了父类中已有的方法

2.便于别人理解代码

3.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.

例如:在重写父类的service时,在方法前面加上@Override 系统可以帮你检查方法的正确性。

public class AdminServlet extends HttpServlet {
    @Override  //表示方法重写
    protected void service(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
    }
}

如果将方法错误写为Service。
在这里插入图片描述
则编译器将会报如下错误:
The method Service(HttpServletRequest, HttpServletResponse) of type AdminServlet must override or implement a supertype method

若不写@Override,系统将认为是子类定义的新的方法,而不会报错。

### Java `@Override` 注解详解 #### 定义与用途 在 Java 编程语言中,`@Override` 是一种注解(annotation),专门用来指示某个方法正在重写其父类或实现接口中的相应方法[^1]。这种机制不仅增强了代码的可读性,还提高了编译期的安全保障——如果被标注的方法实际上并未存在于任何超类或者接口之中,则会触发编译错误。 #### 主要功能 - **增强代码清晰度**:通过显式声明哪些方法是从基类继承而来并进行了修改,使得其他开发者更容易理解程序逻辑。 - **防止拼写错误**:当子类尝试覆写一个不存在于父类的方法名时,编译器能够及时报错提醒开发人员修正问题。 #### 应用实例 下面给出一段简单的例子来展示如何正确运用此特性: ```java public class Animal { public void makeSound(){ System.out.println("Some sound"); } } public class Dog extends Animal{ @Override // 明确指出这里是在覆盖Animal类里的makeSound方法 public void makeSound(){ System.out.println("Bark bark!"); } } ``` 上述代码片段展示了怎样利用 `@Override` 来确保 `Dog.makeSound()` 方法确实是对 `Animal.makeSound()` 的有效替换[^2]。 另外,在对象转字符串表示方面也经常看到该关键字的身影: ```java class Person { private String name; private int age; // 构造函数和其他成员省略... @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; } } ``` 这段代码定义了一个名为 `Person` 的实体类,并为其提供了自定义的 `toString()` 实现方式,这同样遵循了 `Object.toString()` 的约定[^3]。 #### 注意事项 需要注意的是,`@Override` 只能应用于方法上;它不允许用于字段或其他类型的成员变量之上。此外,只有当目标方法存在时才能应用这个标签,否则将会引起编译失败[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值