Home Java注解介绍
Post
Cancel

Java注解介绍

元注解

1、@Documented:

用于标记在生成javadoc时是否将注解包含进去,可以看到这个注解和@Override一样,注解中空空如也,什么东西都没有。

2、@Target

用于定义注解可以在什么地方使用,默认可以在任何地方使用,也可以指定使用的范围,开发中将注解用。

字段 作用
ElementType.TYPE 类、接口或enum声明
ElementType.FIELD 域(属性)声明
ElementType.METHOD 方法声明
ElementType.PARAMETER 参数声明
ElementType.CONSTRUCTOR 构造方法声明
ElementType.LOCAL_VARIABLE 局部变量声明
ElementType.ANNOTATION_TYPE 注释类型声明
ElementType.PACKAGE 包声明

3、@Inherited

允许子类继承父类中的注解,可以通过反射获取到父类的注解

4、@Constraint

用于校验属性值是否合法

5、@Retention

注解的声明周期,用于定义注解的存活阶段,可以存活在源码级别、编译级别(字节码级别)、运行时级别。

类型 作用
RetentionPolicy.SOURCE 源码级别,注解只存在源码中,一般用于和编辑器交互,用于检测代码。如@Override, @SuppressWarings。
RetentionPolicy.CLASS 编译时注解,字节码级别,注解存在于源码和字节码文件中,主要用于编译时生成额外的文件,如XML,Java文件等,但运行时无法获得。 默认注解
RetentionPolicy.RUNTIME 运行时注解,注解存在于源码、字节码、java虚拟机中,主要用于运行时,可以使用反射获取相关的信息。
This post is licensed under CC BY 4.0 by the author.