什么是注解

简介: 什么是注解

一. 什么是注解

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字段标注了可以使用在"局部变量"。
相关文章
|
4月前
|
Java 编译器
你说啥什么?注解你还不会?
你说啥什么?注解你还不会?
36 0
|
6天前
|
Java 数据库连接 数据库
什么时候用@MapperScan 注解?
什么时候用@MapperScan 注解?
|
4月前
|
安全 前端开发 Java
注解的使用
注解的使用
40 0
|
10月前
|
Java 编译器 数据库连接
注解
注解是JAVA5引入JAVA的一个特性,理解起来会有点抽象,这里笔者先给出自己对注解的一个理解——注解就是一张便签! 其次要有一个概念就是注解的应用是基于反射的。 本文举出的三个实例中例1和例3是引用其它的优秀文献 出处为how2J以及 https://blog.csdn.net/briblue/article/details/73824058一文
45 0
|
11月前
@PostMapping注解
@PostMapping注解
|
Java 编译器
关于@FunctionalInterface注解
FunctionalInterface
326 0
关于@FunctionalInterface注解
扒一扒@Retryable注解,很优雅,有点意思! (4)
扒一扒@Retryable注解,很优雅,有点意思! (4)
188 0
扒一扒@Retryable注解,很优雅,有点意思! (4)
|
Java 程序员 开发工具
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (1)
326 0
扒一扒@Retryable注解,很优雅,有点意思! (1)
|
Java Maven
扒一扒@Retryable注解,很优雅,有点意思! (5)
扒一扒@Retryable注解,很优雅,有点意思! (5)
220 0
扒一扒@Retryable注解,很优雅,有点意思! (5)
|
缓存
扒一扒@Retryable注解,很优雅,有点意思! (2)
扒一扒@Retryable注解,很优雅,有点意思! (2)
250 0
扒一扒@Retryable注解,很优雅,有点意思! (2)

热门文章

最新文章