一、元注解的概念
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