import java.lang.annotation.*;
import java.lang.reflect.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnn {
String name() ;
String event();
// 方法执行前的事件
public static final String METHOD_BEFORE = "METHOD_BEFORE";
// 方法执行后的事件
public static final String METHOD_END = "METHOD_END";
}
public class Demo
{
@MyAnn(name="test",event=MyAnn.METHOD_BEFORE)
public void test()
{
}
public static void main(String [] args) throws Exception
{
Method[] ms=Class.forName("Demo").getMethods();
for(int i=0;i<ms.length;i++)
{
boolean tmp=ms[i].isAnnotationPresent(MyAnn.class);
if(tmp)
{
MyAnn ma=ms[i].getAnnotation(MyAnn.class);
System.out.println(ma.name()+" "+ma.event());
}
}
}
}