@interface 表示定义一个注解
注: @Retention 定义被它所注解的注解能保留多久,一共有三种策略:
SOURCE
被编译器忽略CLASS
注解将会被保留在Class文件中,但在运行时并不会被VM保留。这是默认行为,所有没有用Retention注解的注解,都会采用这种策略。RUNTIME
保留至运行时。所以我们可以通过反射去获取注解信息。
@Target 用于设定注解使用范围
@interface 表示定义一个注解
注: @Retention 定义被它所注解的注解能保留多久,一共有三种策略:
SOURCE
被编译器忽略
CLASS
注解将会被保留在Class文件中,但在运行时并不会被VM保留。这是默认行为,所有没有用Retention注解的注解,都会采用这种策略。
RUNTIME
保留至运行时。所以我们可以通过反射去获取注解信息。
@Target 用于设定注解使用范围