/**
* 注解的生命阶段 1.源文件(SOURCE) 2.class文件(CLASS) 3.内存中(RUNTIME)
* RetentionPolicy 是一个枚举 一共就这三个值,用来表示注解的生命阶段
* @Override RetentionPolicy.SOURCE
* @SuppressWarnings RetentionPolicy.SOURCE
* @Deprecated RetentionPolicy.RUNTIME
*
* ElementType 是一个枚举 一共10个值(其中2个值是1.8加上的)
* 注解的作用域 :
* @author lh
*
*/
//元注解
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD,ElementType.TYPE})
public @interface ItcastAnnotation {
}
@ItcastAnnotation
public class SelfAnnotationTest {
}
public class ItcastProxyClass {
public static void main(String[] args) {
boolean present = SelfAnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class);
if(present) {
ItcastAnnotation annotation = SelfAnnotationTest.class.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation);
}
}
}