注解

简介: 注解

一. 什么是注解

Annotation(注解)就是Java提供了一种为程序元素关联任何信息或任何元数据(metadata)的途径和方法。

也就是代码的一些特殊标记,这些标记在编译,加载和运行时被读取执行操作。

注解在开发过程中非常常见,例如java自身带的注解@Override,开发是使用spring框架是遇到的@Controller @Service @RequestMapping 以及利用aop自定义的注解,下面我们主要介绍下java自带的注解。

java中常见注解

原生注解:@Override,@Deprecated,@Suppvisewarnings

@Override

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

主要作用:

1.表明对父类方法的重写,当作注释使用,提高代码可读性。

2.编译器可以验证@Override下面的方法名称是否跟父类中的方法一直,如果不一致就会报错。

源代码如下:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

@Deprecated

@Deprecated 方法已过期,不被建议使用的,可用于类上、方法上、属性上。

使用:

一般作用于代码暂时不适应,后期可能会被低啊偶,暂时先用注解注释掉,后期使用在讲注解去掉

源代码如下:

@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Deprecated {
}

@Suppvisewarnings

@Suppvisewarnings 作用是忽略警告。

主要和@Deprecated 一起使用,当调用呗@Deprecated 注释的方法是,编译器会提示警告,可以增加@Suppvisewarnings 忽略警告。

源代码如下:

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();
}
​

元注解

除了以上三个原生注解外,还有一种叫做元注解(元Annotation)。

元Annotation 就是修饰注解的。

常见的有@Retention 和@Target

@Retention:设置注解的生命周期,注明它在什么时期使用

SOURCE:注释将被编译器丢弃 ,仅开发时使用,编译运行时丢弃

CLASS:注释由编译器记录在类文件中 ,编译时读取使用

RUNTIME:注释将被编译器记录在类文件中, 运行时读取。

@Target:表明注解的使用位置(比如方法,成员变量,包等等)

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
  • TYPE字段标注了可以使用在"类、接口(包括注释类型)或枚举声明"。
  • FIELD字段标注了可以使用在"字段声明"。
  • METHOD 字段标注了可以使用在"方法"。
  • PARAMETER 字段标注了可以使用在"参数"。
  • CONSTRUCTOR字段标注了可以使用在"构造方法"。
  • LOCAL_VARIABLE字段标注了可以使用在"局部变量"。
相关文章
|
6月前
|
Java 编译器
你说啥什么?注解你还不会?
你说啥什么?注解你还不会?
70 0
|
6月前
|
安全 前端开发 Java
注解的使用
注解的使用
64 0
|
Java 测试技术 Spring
关于@RunWith注解的一点问题
IDEA写springboot测试关于@Runwith的小问题
237 0
关于@RunWith注解的一点问题
|
Java 编译器
关于@FunctionalInterface注解
FunctionalInterface
456 0
关于@FunctionalInterface注解
|
Java 编译器 Spring
什么是注解
什么是注解
|
存储 JSON Java
一文学会注解的正确使用姿势
一文学会注解的正确使用姿势
一文学会注解的正确使用姿势
|
Java 程序员 开发工具
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (1)
373 0
扒一扒@Retryable注解,很优雅,有点意思! (1)
|
缓存
扒一扒@Retryable注解,很优雅,有点意思! (2)
扒一扒@Retryable注解,很优雅,有点意思! (2)
313 0
扒一扒@Retryable注解,很优雅,有点意思! (2)
扒一扒@Retryable注解,很优雅,有点意思! (4)
扒一扒@Retryable注解,很优雅,有点意思! (4)
224 0
扒一扒@Retryable注解,很优雅,有点意思! (4)