注解-元注解
元注解的作用就是负责注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型作说明. 这些类型和它们所支持的类在java.lang.annotation包中可以找到.(@Target , @Retention ,Documented , @Inherited ) 重点:@Target:用于描述注解的使用范围(即:被描述的注解可以用在什么地方) 重点:@Retention:表示需要在什么级别保存该注释信息﹐用于描述注解的生命周期 (SOURCE<CLASS < RUNTIME) @Document:说明该注解将被包含在javadoc中 @Inherited:说明子类可以继承父类中的该注解
//测试元注解 public class Main { public static void main(String[] args) { @MyAnnotation public void test{ } } } //定义一个注解 //作用域,METHOD:方法,ElementType.METHOD:表示这个注解只能在方法上使用,但是可以使用中括号,定义多个作用域 @Target(value={ElementType.METHOD,ElementType.TYPE})//TYPE:类的作用域,ElementType:主要关键字,Target:表示目标 //RUNTIME:表示我们的注解在什么地方还有效 //RUNTIME>CLASS>sources:如果定义成RUNTIME,那注解在CLASS>sources这两个位置都有效,如果定义了CLASS,那只在CLASS及sources有效,在Runtime无效,只定义sources,只会在sources,其他两个都无效 @Retention(value=RetenionPolicy.RUNTIME)//用RetenionPolicy枚举类来引用,SOURCR:源码级别时有效,CLASS:JAVA编译成CLASS时有效,RUNTIME:运行时有效,自定义的类都使用RUNTIME //@Documented:表示是否将我们的注解生成在javadoc(文档)中 @Documented //@Inherited:子类可以继承父类的注解 @Inherited @interface MyAnnotation{ }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!