定义
Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Target({ElementType.FIELD})//定义注解的作用目标**作用范围字段、枚举的常量/方法
@Documented
//说明该注解将被包含在javadoc中
@interface IsShow {
}
作用域的类型有ElementType.METHOD,ElementType.FIELD,ElementType.PARAMETER。。。等等
在类里使用
public class WifiModel {
@IsShow
private String SSID;
private int level;
}
public use( Objcet objcet) {
Class clazz= objcet.getClass();
Field[] fields = clazz.getDeclaredFields();//根据Class对象获得属性 私有的也可以获得
// Method[] methods = clazz.getMethods();
for (Field f : fields) {
boolean isExist = f.isAnnotationPresent(IsShow.class);
if (isExist) {
// 你要让这个标记的属性要做的事
//to do
}
}
}