Java注解之Target,Retention

@Target表示这个注解的作用域,即可以作用在什么上。

用法:@Target({ElementType.METHOD})

其中METHOD就表示该注解可以修饰方法

另外作用范围有

TYPE 可用于类或者接口上

ANNOTATION_TYPE 可用于注解类型上(被@interface修饰的类型)

CONSTRUCTOR 可用于构造方法上

FIELD 可用于域上

LOCAL_VARIABLE 可用于局部变量上

PACKAGE 用于记录java文件的package信息

PARAMETER 可用于参数上

@Retention表示这个注解的生命周期,即可以存活到什么时候

用法:@Retention(RetentionPolicy.RUNTIME)

其中RUNTIME就表示该注解在程序跑起来的时候都还活着,另外还有两种短命的

1.SOURCE:在源文件中有效(即源文件保留)

2.CLASS:在class文件中有效(即class保留)

才疏学浅,浅尝辄止

你可能感兴趣的:(Java注解之Target,Retention)