Java元注解用于定义注解的行为特性,包括:@Target指定作用元素如类、方法等;@Retention控制保留阶段,如SOURCE、CLASS、RUNTIME;@Documented使注解出现在API文档中;@Inherited实现注解的继承;@Repeatable支持重复注解。

Java元注解是用于注解其他注解的特殊注解。它们用来定义自定义注解的行为和特性,控制注解的使用方式、作用范围以及在程序中的可见性。元注解本身不提供业务功能,而是为开发者创建注解类型时提供结构支持。
@Target
指定注解可以修饰哪些程序元素。例如类、方法、字段等。通过ElementType枚举值来限制使用位置。
常见取值包括:- TYPE:类、接口、枚举
- METHOD:方法
- FIELD:字段(成员变量)
- PARAMETER:参数
- CONSTRUCTOR:构造方法
- LOCAL_VARIABLE:局部变量
- ANNOTATION_TYPE:注解类型
@Retention
定义注解信息保留到哪个阶段。它决定了注解是否保留在源码、字节码或运行时环境中。
常用策略有:- SOURCE:仅保留在源码阶段,编译时丢弃
- CLASS:保留在字节码文件中,但JVM不加载
- RUNTIME:保留到运行时,可通过反射读取(最常用)
@Documented
表示该注解应该被javadoc工具记录。加上这个元注解后,使用此注解的元素会在生成的API文档中显示注解信息。
立即学习“Java免费学习笔记(深入)”;
自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码
@Inherited
表示注解具有继承性。如果一个类使用了被@Inherited修饰的注解,它的子类会自动继承该注解(仅适用于类继承,不适用于接口实现)。
@Repeatable
从Java 8开始支持,表示该注解可以在同一个位置重复使用。需要配合容器注解一起使用,比如多次标注同一个方法。
基本上就这些。掌握这几个元注解,就能正确设计和使用自定义注解了。关键在于理解每个元注解的作用场景和生命周期控制。不复杂但容易忽略细节。










