@Document注解
被此注解标记的自定义注解进行标记的类在生成文档时会显示出自定义注解的注解内容
@Inherited注解
被此注解标记的自定义注解标记其他类时,存在继承效果
(子类可以获取都父类上标记的注解内容,如果子类与父类同时被自定义注解标记,则获取注解时子类会覆盖父类的注解内容;
接口直接的继承、接口与类之间的实现,这种继承不起作用)
@Target注解
被此注解标记的自定义注解将被限制可以标记的的地方
(如没有被此注解声明,则可以用于TYPE_PARAMETER、TYPE_USE以外的任意地方【这两个是jdk8后引入】
TYPE_USE 包含TYPE与 TYPE_PARAMETER )
@Repeatable注解
被此注解标记的自定义注解可以和其他重名的自定义注解同时出现在相同的地方,两者互不影响,不会被覆盖
@Retention注解
被此注解标记的注解限制该自定义注解标记在其他地方的生命周期
(自定义注解的生命周期一般保留在RUNTIME,可以使用反射获取)