我看的教程详细
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Field;
//定义注解
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@interface IntegerVaule {
int value() default 0;
String name() default "";
}
//class Example_02 {
// int i;
// public float f;
// protected boolean b;
// private String s;
//
//}
//使用注解
public class QuicklyWay {
//当只想给value赋值时,可以使用以下快捷方式
@IntegerVaule(20)
public int age;
//当name也需要赋值时必须采用key=value的方式赋值
@IntegerVaule(value = 10000, name = "MONEY")
public int money;
public static void main(String[] args) {
QuicklyWay example = new QuicklyWay();
Class exampleC = example.getClass();
Field[] declaredFields = exampleC.getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field field = declaredFields[i];
if (field.isAnnotationPresent(IntegerVaule.class)) {
IntegerVaule fa = field.getAnnotation(IntegerVaule.class);
System.out.println("" + fa.value());
System.out.println("" + fa.name());
}
}
}
}
复制即可看到,直接运行