记录一下本人应用注解获取的过程
// 第一步: 定义注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface SimpleAnnotation { String value();}// 第二步:应用在办法上public class UseAnnotation { @SimpleAnnotation(value = "testStringValue") public void testMethod(){ }}// 第三步:获取哪些办法应用了public class LogicMain { public static void main(String[] args) { Class<UseAnnotation> useAnnotationClass = UseAnnotation.class; for (Method method : useAnnotationClass.getMethods()) { SimpleAnnotation annotation = method.getAnnotation(SimpleAnnotation.class); if (null != annotation) { System.out.println(" Method Name : " + method.getName()); System.out.println(" value : " + annotation.value()); } } }}
输入后果:
Method Name : testMethod
value : testStringValue
// 第一步:定义注解@Inherited@Retention(RetentionPolicy.RUNTIME)public @interface MyAnnotation { String value() default "hello";}// 第二步:父类上应用,子类继承这个类@MyAnnotationpublic class Person {}class Student extends Person{}// 第三步:获取public class TestAnnotation { public static void main(String[] args) { Class<Student> clazz = Student.class; Annotation[] annotations = clazz.getAnnotations(); for (Annotation annotation : annotations) { System.out.println(annotation); } }}
输入后果:
@com.zcl.edu.annotation2.MyAnnotation(value="hello")