package com.sohu.test; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * @author qiaowang * @date 2014-4-18 上午10:34:13 */ @Retention(value=RetentionPolicy.RUNTIME) public @interface MyDefaultAnnotationReflect { public String key() default "WQO"; public String value() default "王侨"; }
package com.sohu.test; /** * @author qiaowang * @date 2014-4-18 上午10:37:51 */ public class SimpleBeanTwo { @MyDefaultAnnotationReflect(key = "wangqiao", value = "test one time") public String toString() { return "Hello World"; } }
package com.sohu.test; import java.lang.reflect.Method; /** * @author qiaowang * @date 2014-4-18 上午10:36:42 */ public class ReflectDemo { /** * @author qiaowang * @date 2014-4-18 上午10:36:42 * @param args void * @throws ClassNotFoundException * @throws NoSuchMethodException * @throws SecurityException */ public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException { Class<?> c = null; c = Class.forName("com.sohu.test.SimpleBeanTwo"); Method toM = c.getMethod("toString"); if (toM.isAnnotationPresent(MyDefaultAnnotationReflect.class)) { MyDefaultAnnotationReflect mda = null; mda = toM.getAnnotation(MyDefaultAnnotationReflect.class); String key = mda.key(); String value = mda.value(); System.out.println("key=" + key); System.out.println("value=" + value); } } }