Java注解之元注解

Java注解之元注解


一、元注解作用

       用来修饰自定义的注解

二、元注解

     1、@Target:用来标注自定义的注解可以用来修饰程序中的哪些元素

     

   

    注意:如果不加@Target注解的话,自定义注解可以用于修饰程序中的任何元素,如图所示

     2、@Retention :用于指定自定义的注解可以保存多久,即在java程序工作时的那一个阶段

     首先我们先了解,java程序的工作原理图:

         @Retention有如下的四个属性值:

          RetentionPolicy.SOURCE:被修饰的注解只存在源程序中,编译器(即javac.exe文件)将直接丢弃被修饰的注解,因此程序运行时不会得到注解,如下图,控制台没有输出注解

       RetentionPolicy.CLASS:默认值,编译器将被修饰的注解存在class文件中,当运行Java程序时,虚拟机不再保留注解,如下图所示,控制台也没有输出注解

     RetentionPolicy.RUNTIME:编译器将把注解记录在class文件中,当运行java程序时,虚拟机保留注解,程序可以通过反射获取该注解,如下图所示,控制台输出注解:

     3、@Documented :执行 javadoc命令时,会将被@Documented的注解加入文档中

      执行doc命令:

   打开doc文档,可以看见被修饰的文档,有被修饰的注解

     4、@Inherited:如果父类所使用的注解有@Inherited修饰,则子类可以继承该注解,否则不能继承

猜你喜欢

转载自blog.csdn.net/weixin_42867975/article/details/99724518