java.lang包下的基础注解
@Override // 方法覆盖
@Deprecated // 已过时
@SuppressWarnings("unchecked") // 抑制警告
@SafeVarargs // 抑制堆污染警告
@FunctionalInterface // 函数式接口
java.lang.annotation包下的元注解
@Retention(RetentionPolicy.RUNTIME) // 注解的保留期,默认是CLASS
@Target(ElementType.ANNOTATION_TYPE) // 修饰目标
@Documented // 注解是否包含在javadoc生成的API文档中
@Inherited // 注解是否具有继承性
@Repeatable(MyTags.class) // 可重复注解
一个简单的示例
@Repeatable(MyTags.class)
public @interface MyTag
{
String name() default "abc";
int age() default 22;
}
public @interface MyTags
{
MyTag[] value();
}