新建 SxinAnnotation.java
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface SxinAnnotation {
String name() default "sxinboss";
int age() default 18;
}
新建TestClass.java
public class TestClass {
@SxinAnnotation(name = "sxin",age = 20)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
}
try {
Class c = Class.forName("test.TestClass");
Object obj = c.newInstance();
/*
//获取方法名
Method[] mList = c.getMethods();
for (Method m : mList) {
resp.getWriter().write(m.getName()+"<hr />");
}
*/
Method m = c.getMethod("getName");
//执行getName方法
write(m.invoke(obj).toString());
//获取Class上的注解。
Annotation[] alist=c.getAnnotations();
for(Annotation a :alist){
write(a.toString());
}
} catch (Exception e) {
e.printStackTrace();
}