注解的使用

注解

注解的理解

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

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

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

基本的Annotation介绍

使用Annotation时需要在其前面增加@符号,并把该Annotation 当成一个修饰符使用。

三个基本的Annotation:

1、@Override:限定某个方法,是重写父类方法,该注解只能用于方法;

如果给某个方法写了@Override注解,则编译器会检查此方法是否重写了父类的该方法,如果发现父类的没有该方法,不构成重写,则编译不通过。即语法的校验。

2、@Deprecated:用于表示某个程序元素(类,方法等),已过时;

@Deprecated修饰某个元素,表示该元素已经过时 。可以用于版本升级时的过度使用。

3、@SuppressWarnings:抑制编译器警告,通常放在类和方法中,作用域为修饰的类和方法的范围。可取消全部的警告,也可添加部分警告

在这里插入图片描述
在这里插入图片描述
常用的警告:
在这里插入图片描述
其他的参数可查看文章:

SuppressWarning中的属性介绍及属性说明

其他注解介绍

  • @interface:不是接口,而是定义一个注解类,在jdk5之后加入的。

在这里插入图片描述

  • @Target: 是修饰注解的注解,即元注解

四种元注解

介绍:元注解是修饰注解的注解

作用:本身作用不大,但我们要知道这些元注解是干什么的,方便我们阅读源码。

@Retention:保留指定注解的作用范围

说明:只能用于修饰一个Annotation定义,用于指定该Annotation可以保留多长时间,@Retation包含一个RetentionPolicy类型的成员变量,使用@Rentention时必须为该value 成员变量指定值

  • RententionPolicy.SOURCE:编译器使用后,直接丢弃这种策略的注释

  • RententionPolicy.CLASS: 编译器将把注解记录在class文件中,当运行Java程序时,JVM不会保留注解。这是默认值

  • RententionPolicy.RUNTIME: 编译器将把注解记录在class文件中,当运行java程序时,JVM会保留注解,程序可以通过反射获取该注解

在这里插入图片描述

@Target

用于修饰Annotation定义,用于指定被修饰的Annotation能用于修饰哪些程序元素。@Target也包含一个名为 value的成员变量

  • CONSTRUCTOR: 构造器

  • TYPE: 类

  • METHOD: 方法

  • PACKAGE: 包

  • FIELD:字段/属性

  • LOCAL_VARIABLE: 局部变量

  • PARAMETER: 参数

@Documented

用于指定被该元Annotation修饰的Annotation类将被javadoc工具提取成文档,即在生成文档时,可以看到被@Documented修饰的注解

说明:定义为Documented的注解必须设置Retention的值为RUNTIME

在这里插入图片描述

@Inherited(继承)

被此注解修饰的 Annotation 将具有继承性,如果某个类使用了被@Inherited修饰的Annotation,则其子类将自动具有该注解

说明:实际应用中,使用较少,了解即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值