package java.lang.annotation;
/**
* 目的:注解的元素种类,即:注解在类、字段、方法上
* 注意:a. 注解类型没有使用@Target注解,说明该注解使用在任何元素种类上
* b. ElementType元素类型对象
* c. @Target({}),该声明类型只可作为复杂注释类型声明中的成员类型使用。它不能直接用于注释。
* @author TCM
* @create 2017年10月18日上午8:59:10
* @see ElementType
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
ElementType[] value();
}
package java.lang.annotation;
/**
* 目的:程序元素类型,使用在{@link Target}注解中
* @author TCM
* @create 2017年10月18日上午9:08:05
* @since 1.5
*/
public enum ElementType {
/** 类,接口(含注释类型),枚举类*/
TYPE,
/** 字段(含枚举常量) */
FIELD,
/** 方法 */
METHOD,
/** 参数 */
PARAMETER,
/** 构造器 */
CONSTRUCTOR,
/** 局部变量 */
LOCAL_VARIABLE,
/** 注释类型 */
ANNOTATION_TYPE,
/** 包 */
PACKAGE
}