最近在一位同事身上学到的注解简单用法
/**
*
*/
package Annotaiton;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import javax.annotation.Resource;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
/**
* @author sz
*
* create time:2012-7-16
*/
public class TestAnnotation{
public static void main(String[] args) throws Exception{
F f= new F();
Class clazz = f.getClass();//获取该对象对应的CLASS文件
Method method = clazz.getDeclaredMethod("tt");//获取该对象指定的方法,不包括父类继承
Bar bar = method.getAnnotation(Bar.class);
System.out.println(bar.name());
System.out.println(bar.val());
System.out.println(bar.c());
}
}
class F{
@Bar(name = "123" , c=F.class, type = Types.ONE, v =100)
public void tt(){
System.out.println("-------------");
}
enum Types{
ONE,TWO
}
@Target(ElementType.METHOD)// 代表这个注解可以用在哪里
@Retention(RetentionPolicy.RUNTIME) // 运行时 和直接放到源码里面
@interface Bar{
String name();
String val() default "456";
Class c();
int v();
Types type();
}