iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >详解@Override注解
  • 838
分享到

详解@Override注解

java 2023-09-24 11:09:56 838人浏览 泡泡鱼
摘要

目录 1.是什么 2.为什么用 3.举例说明 1)示例一 2)示例二 3)示例三 1.是什么 @Override注解是伪代码,用于表示被标注的方法是一个重写方法。 @Override注解,只能用于标记方法,并且它只在编译期生效,不会保留

目录

1.是什么

2.为什么用

3.举例说明

1)示例一

2)示例二

3)示例三


1.是什么

@Override注解是伪代码,用于表示被标注的方法是一个重写方法。

@Override注解,只能用于标记方法,并且它只在编译期生效,不会保留在class文件中。

@Override 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。

@Override注解标记的方法声明,如果没有覆写或者实现超类的方法声明,或者不是覆写Object的public方法,那么编译就会报错。使用@Override注解,有助于我们尽早发现这样的错误:本来想声明一个“覆写”方法,却偶然声明成“重载”方法。

2.为什么用

既然不写@Override也可以重写父类的方法,那为什么非要“多此一举”写上这个注解呢?

使用@Override注解主要有两个好处:

1)帮助自己检查是否正确的重写父类方法

2)明显的提示看代码的人,这是重写的方法

3.举例说明

1)示例一

public class Person {    private String name;    private String sex;    @Override    public String toString() {        return "Person{" +                "name='" + name + '\'' +                ", sex='" + sex + '\'' +                '}';    }}

上述代码是重写 Object 类的 toString() 方法,该方法使用 @Override 注解。如果 toString() 不小心写成了 t0String(),那么程序会发生编译错误。会有如下的代码提示:

类型为 Person 的方法t0String()必须覆盖或实现超类型方法

2)示例二

public class Person {    private String name;        @Override    public boolean equals(Person person){        return this.name.equals(person.name);    }        @Override    public boolean equals(Object person){        return this.name.equals(((Person)person).name);    }}

3)示例三

public class Animal {    public void eat(){        System.out.println("吃饭");    }}
public class Dog extends Animal{    @Override    public void eat(){        System.out.println("狗会吃饭");    }}

声明两个类Animal和Dog,Dog类继承了Animal类并且对其eat方法进行了重写;可以发现在重写eat方法时我们加上了@Override注解,其实不加这个注解代码也不会出现问题;但如果在开发过程中不小心写错方法名或者写错了参数,但这是符合语法规范的,能够顺利通过编译;但相关业务功能没能实现,这就会降低我们的开发效率,增加开发成本,这也就是为什么要用@Override注解的原因。

代码的可读性是非常重要的,我们写的代码很多时候会被别人看到或者修改,加上@Override注解会让看代码的人一眼明白,这个方法是重写了父类的方法,可读性更佳!

来源地址:https://blog.csdn.net/qq_61902168/article/details/130019795

--结束END--

本文标题: 详解@Override注解

本文链接: https://www.lsjlt.com/news/416853.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解@Override注解
    目录 1.是什么 2.为什么用 3.举例说明 1)示例一 2)示例二 3)示例三 1.是什么 @Override注解是伪代码,用于表示被标注的方法是一个重写方法。 @Override注解,只能用于标记方法,并且它只在编译期生效,不会保留...
    99+
    2023-09-24
    java
  • C++11 中的override详解
    目录1 公有继承1.1 纯虚函数 (pure virtual)1.2 普通虚函数1.2.1 方法一1.2.2 方法二1.3 非虚函数2 重写 (override)小结:参考资料1 公...
    99+
    2024-04-02
  • Spring中的注解之@Override和@Autowired
    一、Override 首先,@Override 注解是伪代码,表示子类重写父类的方法。这个注解不写也是可以的,但是写了有如下好处: 1. 可以当注释用,方便阅读(注解很重要的一个作用...
    99+
    2024-04-02
  • 如何在Spring中使用@Override和@Autowired注解
    如何在Spring中使用@Override和@Autowired注解?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、Override首先,@Override 注解是伪代码...
    99+
    2023-06-15
  • C++中overload,override,overwrite的区别详细解析
    Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2...
    99+
    2022-11-15
    overload override overwrite
  • Java基础之重载(Overload)与重写(Override)详解
    目录一、重载(Overload)二、重写(Override)三、重写与重载之间的区别四、总结一、重载(Overload) 重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相...
    99+
    2024-04-02
  • @TableField注解详解
    @TableField(value = "email")//指定数据库表中字段名 如果数据库和实体类的字段名不一致,可以使用@TableField注解指定数据库表中字段名。  2、@TableField(exist = "false")/...
    99+
    2023-09-02
    数据库 sql java
  • @PreAuthorize注解详解
    @PreAuthorize注解会在方法执行前进行权限验证,支持Spring EL表达式,它是基于方法注解的权限解决方案。只有当@EnableGlobalMethodSecurity(prePostEnabled=true)的时候,@PreA...
    99+
    2023-09-14
    spring java mybatis
  • Spring注解详解
    概述 注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和...
    99+
    2023-06-03
  • Java注解详解
    目录 一、发现注解二、注解是什么1. 注解的本质2. 注解是针对Java编译器的说明 三、为什么要使用注解四、Java中常用的注解4.1 基础注解(spring-context、spring-we...
    99+
    2023-08-22
    java spring 软件测试
  • java中重写父类方法加不加@Override详解
    java重写父类方法加不加@Override 这个是我在刚学习java时遇到的问题,希望能给像我一样的新手学习时带来帮助,如有错误请指正,谢谢! class Father{ ...
    99+
    2024-04-02
  • 详解Spring注解@Configuration
    目录@Configuration 注解的概述底层原理与 Spring IoC 容器的集成Bean 的定义和装配的实现条件化配置的实现配置类的加载和实例化过程总结Spring 提供了丰...
    99+
    2023-05-16
    Spring注解@Configuration介绍 Spring注解@Configuration Spring注解
  • SpringMVC-@RequestMapping注解详解
    目录1、@RequestMapping注解的作用2、@RequestMapping注解的位置3、value属性(1)基础用法(2)路径中的占位符(重点)4、method属性5、par...
    99+
    2023-05-17
    SpringMVC @RequestMapping SpringMVC @RequestMapping注解属性
  • SpringMVC @RequestMapping注解详解
    目录一、@RequestMapping1.@RequestMapping注解的功能2.@RequestMapping注解的位置二、@RequestMapping注解的属性1.valu...
    99+
    2024-04-02
  • Java入门绊脚石之Override和Overload的区别详解
    目录前言:一、方法重写(Override)1、方法重写基本概念2、方法重写基本规则及注意事项二、overload方法重载1、什么是重载2、重载的规则3、总结:前言: 各位小伙伴们,大...
    99+
    2024-04-02
  • Java注解Annotaton详解
    目录1、三种基本的Annotaton@Override解读细节@Deprecated解读效果细节可以修饰方法,类,包,参数等等@SuppressWarnings解读效果细节元注解Re...
    99+
    2024-04-02
  • @DateTimeFormat 和 @JsonFormat 注解详解
    这一篇文章足以让你对Java当中Date时间上的理解更上一层楼,本篇文章主要通过代码的形式来进行试验,彻彻底底搞明白日期传参,以及日期返回参数的格式相关问题,每一个步骤都会记得特别详细! 本篇文...
    99+
    2023-10-08
    mybatis java spring boot 日期
  • 详解 SpringMVC 的 @RequestMapping 注解
    文章目录 1、@RequestMapping注解的功能2、@RequestMapping注解的位置3、@RequestMapping注解的value属性4、@RequestMapping注解的...
    99+
    2023-09-07
    spring springMVC RequestMapping
  • SpringBoot各种注解详解
    目录一、注解列表二、注解详解一、注解列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoCon...
    99+
    2022-12-27
    SpringBoot注解 SpringBoot注解的作用
  • SpringBoot底层注解详解
    目录一、 @ConfigurationFull模式和Lite模式二、@Import 导入组件三、@Conditional四、@ImportResource五、@Configurati...
    99+
    2023-05-20
    SpringBoot底层注解 SpringBoot注解
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作