@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Target({ElementType.FIELD,ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法
@Documented//说明该注解将被包含在javadoc中
public @interface FieldMeta {
/**
* 是否为序列号
* @return
*/
boolean id() default false;
/**
* 字段名称
* @return
*/
String name() default "";
/**
* 是否可编辑
* @return
*/
boolean editable() default true;
/**
以下可以实现
//自定义一个注解,注意设置RetentionPolicy.RUNTIME,否则运行时值为null
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceKey {
String value() default "";
}
//测试
@ServiceKey("helloworld")
public class MyTest(){
@Test
public void annoTest(){
//获取本类注解的值
String value=this.getClass().getAnnotation(ServiceKey.class).value;
//打印结果为helloworld
System.out.println(value);
}
}