【Java进阶系列】注解

本文详细介绍了Java中的注解,包括注解的理解、基本的注解如@Override、@Deprecated和@SuppressWarnings的用法。进一步探讨了JDK的元注解,如@Retention、@Target、@Documented和@Inherited,讲解了它们的作用、用例及源码分析,帮助开发者更深入地理解注解的使用和设计原理。
摘要由CSDN通过智能技术生成

⚡️1 注解的理解

①注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息。

②和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息。

③在 JavaSE 中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在 JavaEE 中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替 java EE 旧版中所遗留的繁冗代码和 XML 配置等。

⚡️2 基本的 Annotation 介绍

使用 Annotation 时要在其前面增加 @ 符号, 并把该 Annotation 当成一个修饰符使用。用于修饰它支持的程序元素

🧐三个基本的 Annotation

  1. @Override: 限定某个方法,是重写父类方法, 该注解只能用于方法
  2. @Deprecated: 用于表示某个程序元素(类, 方法等)已过时
  3. @SuppressWarnings: 抑制编译器警告

⚡️3 @Override 注解的案例

override:限定某个方法,是重写父类方法,该注解只能用于方法

//override:限定某个方法,是重写父类方法,该注解只能用于方法
class Father {
   
    public void fly() {
   
        System.out.println("Father fly.….");
    }
}
class Son extends Father {
   
    @Override //说明
    public void fly() {
   
        System.out.println("Son fly..");
    }
}

🧐解读:

  1. @Override 注解放在 fly 方法上,表示子类的fly 方法时重写了父类的 fly
  2. 这里如果没有写 @Override 还是重写了父类 fly
  3. 如果你写了@Override 注解,编译器就会去检查该方法是否真的重写了父类的方法,如果的确重写了,则编译通过,如果没有构成重写,则编译错误.
  4. 看看@Override的定义(源码)
    解读: 如果发现 @interface 表示一个 注解类
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
   
}

😲补充说明:@interface的说明
@interface不是interface是注解类是jdk5.0之后加入的

🐱‍🏍Override使用说明

  1. @Override表示指定重写父类的方法((从编译层面验证),如果父类没有fly方法,则会报错
  2. 如果不写@Override注解,而父类仍有public void fly(){},仍然构成重写
  3. @Override只能修饰方法,不能修饰其它类,包,属性等等
  4. 查看@Override注解源码为@Target(ElementType.METHOD),说明只能修饰方法
  5. @Target是修饰注解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值