Java annotation元注解原理实例解析

作者:kakaisgood 时间:2022-09-08 00:42:45 

元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。

1. Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口.

2. 参数成员只能用public或默认(default)这两个访问权修饰

3. 参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组.

4. 要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation对象,因为你除此之外没有别的获取注解对象的方法

5. 注解也可以没有定义成员, 不过这样注解就没啥用了

1. @Target 表示该注解目标,可能的 ElemenetType 参数包括:

ElemenetType.CONSTRUCTOR 构造器声明
ElemenetType.FIELD 域声明(包括 enum 实例)
ElemenetType.LOCAL_VARIABLE 局部变量声明
ElemenetType.METHOD 方法声明
ElemenetType.PACKAGE 包声明
ElemenetType.PARAMETER 参数声明
ElemenetType.TYPE 类,接口(包括注解类型)或enum声明

2. @Retention 表示该注解的生命周期,可选的 RetentionPolicy 参数包括

RetentionPolicy.SOURCE 注解将被编译器丢弃
RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息

3. @Documented 指示将此注解包含在 javadoc 中

4. @Inherited 指示允许子类继承父类中的注解

来源:https://www.cnblogs.com/kakaisgood/p/6693578.html

标签:Java,annotation,元,注解
0
投稿

猜你喜欢

  • C#正则表达式大全

    2023-12-04 13:06:37
  • 在unity脚本中控制Inspector面板的参数操作

    2023-07-22 11:39:58
  • Maven打包时如何指定启动类

    2021-06-16 11:48:00
  • C#中缓存的基本使用方法

    2023-02-23 13:47:44
  • 浅谈十个常见的Java异常出现原因

    2022-10-04 07:58:50
  • Spring Boot 整合 Apache Dubbo的示例代码

    2021-10-09 03:52:07
  • C#中隐式运行CMD命令行窗口的方法

    2021-06-11 18:47:07
  • 详解Java中clone的写法

    2023-09-08 17:00:43
  • android 添加按(power键)电源键结束通话(挂断电话)

    2023-08-14 20:38:24
  • Android通过交互实现贝塞尔曲线的绘制

    2022-10-06 05:04:08
  • 详解Android中Drawable方法

    2021-06-12 12:40:05
  • IDEA教程创建SpringBoot前后端分离项目示例图解

    2022-06-30 02:41:10
  • 解决logback-classic 使用testCompile的打包问题

    2021-07-01 08:16:50
  • Spring Cloud 覆写远端的配置属性实例详解

    2022-09-10 22:06:23
  • Android中使用CircleImageView和Cardview制作圆形头像的方法

    2022-04-19 05:41:35
  • Java经典面试题汇总--多线程

    2023-07-13 01:17:48
  • java8中:: 用法示例(JDK8双冒号用法)

    2023-11-25 06:21:21
  • SpringBoot 创建容器的实现

    2022-04-03 08:41:02
  • Java实现发送邮件并携带附件

    2023-07-23 19:02:25
  • Android实现Service重启的方法

    2021-10-01 09:25:25
  • asp之家 软件编程 m.aspxhome.com