java注解
注解A
package cn.anno; import java.lang.annotation.*; /** * 一些元注解和作用 * Target:说明了注解定义的位置,位置可以是类(Type),成员方法,成员属性,泛型上面, * Retention:说明了注解存在的生命周期,3种 第一种 源文件 ;第二种源文件和.class字节码文件 ;第三种 源文件,.class字节码文件和运行时 * Inherited:说明了注解是可以继承的, 子类可以重复,但是只显示一份。 * Repeatable: 说明注解是可以多次定义的 当引入@Repeatable的时候必须需要指定它的value值。 * 1.需要注意注解类元注解应该一样 * 2.需要说明值 * Documented:生成javadoc文档时候就会把注解显示出来 */ /** * 注解类@interface * 只有在底层的时候有用 * 正常运行时也不需要注解 */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Repeatable(MyAnnos.class) @Documented public @interface MyAnno { //通过方法声明定义标签里面的键值对 //方法名是参数名,方法返回值是值类型 String name(); String note(); }
辅助注解B(为了实现注解A可以在一个地方多次使用构造的辅助注解类)
1 package cn.anno; 2 3 import java.lang.annotation.*; 4 5 /** 6 * 元注解必须和MyAnno一样 7 */ 8 @Target({ElementType.TYPE}) 9 @Retention(RetentionPolicy.RUNTIME) 10 @Inherited 11 @Documented 12 public @interface MyAnnos { 13 //声明value 14 MyAnno[] value(); 15 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~