元注解以及自定义注解
元注解
元注解的作用就是负责注解其他注解。@Target:
1.@Target
2.@Retention
3.@Documented
4.@Inherited
【元注解以及自定义注解】@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。@Retention
@Retention注解是指示注释类型的注释要保留多久。
1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略
2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略
3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.
@Documented
@Documented是描述其它类型的annotation应该被作为被标注的程序成员的公共API@Inherited
@Inherited 元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。自定义注解
自定义注解格式:public @interface 注解名 {定义体}
@interface继承了java.lang.annotation.Annotation接口在定义注解时,不能继承其他的注解或接口。@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。
推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- SpringBoot调用公共模块的自定义注解失效的解决
- 我用芋圆和芋饺祝大家元宵节快乐
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- 默示录【二】
- 我有一个小姑娘:童言童语
- 问(现在多少家产相当于30年前的万元户())
- 克里希那穆提《生命书》新译(8月15日)(心与念的二元分裂)
- whlie循环和for循环的应用