注解学习笔记(二)

注解的使用

 

  

使用@Retention

value成员变量的值只能是如下三个:

        RetentionPolicy.CLASS: 编译器将把注释记录在class文件中。当运行Java程序时,JVM不在保留注释,这是默认值。
        RetentionPolicy.RUNTIME: 编译器将把注释记录在class文件中。当运行Java程序时,JVM也会保留注释,程序可以通过反射获取该注释。
        RetentionPolicy.SOURCE:  注解仅存在于源码中,在class字节码文件中不包含。 

使用@Target

        ElementType.ANNOTATION_TYPE: 指定该策略的Annotation只能修饰Annotation。
        ElementType.CONSTRUCTOR:  指定该策略的Annotation能修饰构造器。
        ElementType.FIELD:  指定该策略的Annotation只能修饰成员变量。
        ElementType.LOCAL_VARIABLE:  指定该策略的Annotation只能修饰局部变量。
        ElementType.METHOD: 指定该策略的Annotation只能修饰方法。
        ElementType.PACKAGE:  指定该策略的Annotation只能修饰包定义。
        ElementType.PARAMETER:  指定该策略的Annotation可以修饰参数。
        ElementType.TYPE:  指定该策略的Annotation可以修饰类、接口(包括注释类型)或枚举定义。

 

posted @ 2019-04-25 15:50  疯子FK  阅读(122)  评论(0编辑  收藏  举报