我们先来看一个注解
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Description {
String value();
String key() default "";
}
我们使用@interface关键字来定义一个注解
这里的Description是注解名
String value(); 变量以无参无异常方式声明,也就是说不可以这样声明:String value(" "); String value() throw Exception;
同时可以用default来指定变量的默认值。
需要注意的是:变量类型只能是基本类型以及String,Class,Annotation, Enumeration
如果注解只有一个成员变量,变量名必须命名为values(),而且在使用时可以忽略变量名和赋值号( = )
接下来我们了解一下注解上方的一些注解——元注解
元注解就是用来注解其他的注解
我们自定义注解会涉及到以上四个注解