注解 annotation

来源:互联网 发布:linux dma 编辑:程序博客网 时间:2024/06/10 13:39
 自动实现 Annotation接口
 public @interface AnnoTest
 其中可以定义值, 非标识类的注解都有值。(即 标识类的注解没有值)
 @ 只有在反射时才有作用。

 定义方法: 数据类型 值的名称();


@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)   // 表示该注解能标注在哪些地方
public @interface Retention {   // 仅仅针对注解的注解,用以注解策略。
    RetentionPolicy value();
}

 RetentionPolicy   -- 该注解生存周期
CLASS 
          编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。 
RUNTIME  -- 最重要!!!
          编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。 
SOURCE 
          编译器要丢弃的注释。 



 ElementType    -- 该注解能在何处注解
 ANNOTATION_TYPE 
          注释类型声明 
CONSTRUCTOR 
          构造方法声明 
FIELD 
          字段声明(包括枚举常量) 
LOCAL_VARIABLE 
          局部变量声明 
METHOD 
          方法声明 
PACKAGE 
          包声明 
PARAMETER 
          参数声明 
TYPE 
          类、接口(包括注释类型)或枚举声明 

原创粉丝点击