注解Annotation

自定义注解
1 2 3 4 5 6 | @Target ({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE,TYPE_PARAMETER,TYPE_USE}) @Retention (RetentionPolicy.RUNTIME) public @interface MyAnnotation { String[] value() default "aaa" ; } |
元注解
对现有的注解进行解释说明的注解
Retention:指定所修饰的Annotation的生命周期:SOURCE\CLASS(默认行为)\RUNTIME,只有声明为RUNTIME生命周期的注解,才能通过反射获取。
Target:用于指定被修饰的Annotation 能用于修饰哪些程序元素
----自定义注解通常都会指定以上两个元注解
Documented:表示所修饰的注解在被javadoc解析时保留下来
Inherited:被它修饰的Annotation 将具有继承性
类型注解
ElementType.TYPE_PARAMETER 表示该注解能写在类型变量的声明语句中,如泛型声明
ElementType.TYPE_USE 表示该注解能写在使用类型的任何语句中。
1 2 3 4 5 6 | class Generic< @MyAnnotation T> { public void show() throws @MyAnnotation RuntimeException{ ArrayList< @MyAnnotation String> list = new ArrayList(); int num = ( @MyAnnotation int )10L; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律