定义一个注解:
@Target(ElementType.TYPE)//作用于类上的注解
public @interface pro {
String classname();
String methodname();
}
测试这个注解
@pro(classname = "com.zxinform.demo1",methodname = "show")//给注解里面的属性赋值
public class testAnno {
public static void main(String[] args) {
//通过反射获得注解对象
pro apro = testAnno.class.getAnnotation(pro.class);
//获得注解属性的值
String classname1 = apro.classname();
String methodname1 = apro.methodname();
//输出获得的属性值
System.out.println(classname1);
System.out.println(methodname1);
}
}
运行程序结果报错,说getAnnotation返回值为null
原因是没有给定义的注解加上@Retention(RetentionPolicy.RUNTIME)这个元注解,
加上这个元注解之后,运行正常