Java千百问_03基础语法(022)_元注解是什么

来源:互联网 发布:自动更换ip软件 编辑:程序博客网 时间:2024/06/10 04:08

点击进入_更多_Java千百问

1、元注解是什么

了解注释看这里:注释是什么
了解自定义注解看这里:如何自定义注解
元注解就是负责注解其他注解。Java 5定义了4个标准的元注解(meta-annotation):@Target@Retention@Documented@Inherited,这些元注解的类在java.lang.annotation包中,具体如下:

@Target
@Target说明了注解所修饰的对象范围,即所定义的注解可以用在什么地方。具体的取值有:

  1. CONSTRUCTOR
    用于描述构造器

  2. FIELD
    用于描述类中的属性(域)

  3. LOCAL_VARIABLE
    用于描述局部变量

  4. METHOD
    用于描述方法

  5. PACKAGE
    用于描述包

  6. PARAMETER
    用于描述方法参数

  7. TYPE
    用于描述类、接口(包括注解类型) 或enum声明

@Retention
@Retention定义了注解如何被保留,即被描述的注解在什么范围内有效。具体的取值有:

  1. SOURCE
    在源文件中有效(即源文件保留)
        
  2. CLASS
    在class文件中有效(即class保留)

  3. RUNTIME
    在运行时有效(即运行时保留)

我们在《如何自定义注解》文章中的实例中使用了@Retention(RetentionPolicy.RUNTIME),也就是说该自定义注解在运行时能够被读取和使用。

@Documented
@Documented定义了注解可以作为公共API,可以被例如javadoc此类的工具文档化。Documented是一个标记注解,并没有任何成员。

@Inherited
@Inherited允许子类继承父类的注解。即一个使用了@Inherited修饰的注解被用于某个类,则该类的子类也等同于被该注解修饰。

0 0