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);
}
}
}