java元注解_java中的元注解

一、元注解的概念

java中有4个元注解:@Retention、@Target、@Document、@Inherited。所谓元注解就是注解的注解。

二、注解介绍

①@Retention

@Retention——注解的保留位置

注解仅存在于源码中,在class字节码文件中不包含

@Retention(RetentionPolicy.SOURCE)

默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得

@Retention(RetentionPolicy.CLASS)

注解会在class字节码文件中存在,在运行时可以通过反射获取到

@Retention(RetentionPolicy.RUNTIME)

②@Target

@Target——注解的作用目标

接口、类、枚举、注解

@Target(ElementType.TYPE)

字段、枚举的常量

@Target(ElementType.FIELD)

方法

@Target(ElementType.METHOD)

方法参数

@Target(ElementType.PARAMETER)

构造函数

@Target(ElementType.CONSTRUCTOR)

局部变量

@Target(ElementType.LOCAL_VARIABLE)

注解

@Target(ElementType.ANNOTATION_TYPE)

@Target(ElementType.PACKAGE)

③@Document——说明该注解将被包含在javadoc中

④@Inherited——说明子类可以继承父类中的该注解

三、例子

@Retention(RetentionPolicy.RUNTIME)

@Target({ElementType.METHOD})

public @interface AnnatDemo{

}

@AnnatDemo注解作用目标是用于对方法注解并保留在运行时的环境中,可利用反射获得一个方法上的注解调用定义的方法。

原帖地址:http://www.cnblogs.com/Gordon-YangYiBao/archive/2012/08/07/2626340.html

一、元注解的概念 java中有4个元注解:@Retention、@Target、@Document、@Inherited。所谓元注解就是注解的注解。 二、注解介绍 ①@Retention @Retention——注解的保留位置 注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.SOURCE) 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得 @Retention(RetentionPolicy.CLASS) 注解会在class字节码文件中存在,在运行时可以通过反射获取到 @Retention(RetentionPolicy.RUNTIME) ②@Target @Target——注解的作用目标 接口、类、枚举、注解 @Target(ElementType.TYPE) 字段、枚举的常量 @Target(ElementType.FIELD) 方法 @Target(ElementType.METHOD) 方法参数 @Target(ElementType.PARAMETER) 构造函数 @Target(ElementType.CONSTRUCTOR) 局部变量 @Target(ElementType.LOCAL_VARIABLE) 注解 @Target(ElementType.ANNOTATION_TYPE) 包 @Target(ElementType.PACKAGE) ③@Document——说明该注解将被包含在javadoc中 ④@Inherited——说明子类可以继承父类中的该注解 三、例子 @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) public @interface AnnatDemo{ } @AnnatDemo注解作用目标是用于对方法注解并保留在运行时的环境中,可利用反射获得一个方法上的注解调用定义的方法。 原帖地址:http://www.cnblogs.com/Gordon-YangYiBao/archive/2012/08/07/2626340.html
经验分享 程序员 微信小程序 职场和发展