注解

注解(Annotation)是 Java 提供的,用于设置程序中元素的关联信息元数据(MetaData)的方法,它是一个接口,程序可以通过反射获取指定程序中元素的注解对象,然后通过该注解对象获取注解中的元数据信息。

元注解

元注解可以理解为注解的注解,即在注解中使用,实现想要的功能。

其具体分为:

  • @Retention 定义了该注解被保留的级别,即被描述的注解在什么级别有效,有以下 3 种类型。

    • SOURCE:在源文件中有效,即在源文件中被保留。

    • CLASS:在 Class 文件中有效,即在 Class 文件中被保留。

    • RUNTIME:在运行时有效,即在运行时被保留。

  • @Target 说明了注解所修饰的对象范围。注解可被用于 packages、types(类、接口、枚举、注解类型)、类型成员(方法、构造器、成员变量、枚举值)、方法参数和本地变量(循环变量、catch 参数等)

  • @Documented 表明这个注解应该被 javadoc 工具记录。

  • @Inherited 是一个标记注解,表明某个被标注的类型是被继承的。如果有一个使用了 @Inherited 修饰的 Annotation 被用于一个 Class,则这个注解将被用于该 Class 的子类。

  • @Repeatable 表明注解可以同时作用一个对象多次,而且每次注解可以代表不同的含义。

最后更新于