Java元注解用于定义注解的行为特性,包括:@Target指定作用元素如类、方法等;@Retention控制保留阶段,如SOURCE、CLASS、RUNTIME;@Documented使注解出现在API文档中;@Inherited实现注解的继承;@Repeatable支持重复注解。
Java元注解是用于注解其他注解的特殊注解。它们用来定义自定义注解的行为和特性,控制注解的使用方式、作用范围以及在程序中的可见性。元注解本身不提供业务功能,而是为开发者创建注解类型时提供结构支持。
指定注解可以修饰哪些程序元素。例如类、方法、字段等。通过ElementType枚举值来限制使用位置。
常见取值包括:
D:字段(成员变量)定义注解信息保留到哪个阶段。它决定了注解是否保留在源码、字节码或运行时环境中。
常用策略有:表示该注解应该被javadoc工具记录。加上这个元注解后,使用此注解的元素会在生成的API文档中显示注解信息。
表示注解具有继承性。如果一个类使用了被@Inherited修饰的注解,它的子类会自动继承该注解(仅适用于类继承,不适用于接口实现)。
从Java 8开始支持,表示该注解可以在同一个位置重复使用。需要配合容器注解一起使用,比如多次标注同一个方法。
基本上就这些。掌握这几个元注解,就能正确设计和使用自定义注解了。关键在于理解每个元注解的作用场景和生命周期控制。不复杂但容易忽略细节。