Java注解

123 阅读2分钟

1、初识注解

1.1 什么是注解(Annotation)?

注解是jdk1.5引入的,是放在Java源码的方法字段参数前的一种特殊“注释”。注释会被编译器直接忽略,注解则可以被编译器打包进入class文件。因此,注解是一种用作标注的“元数据”。

注解都是 @ 符号开头的。注解并不能改变程序的运行结果,也不会影响程序运行的性能。有些注解可以在编译时给用户提示或警告,有的注解可以在运行时读写字节码文件信息。

1.2 注解的作用

注解常见的作用有以下几种:

  1. 生成帮助文档。这是最常见的,也是 Java 最早提供的注解。常用的有 @see、@param 和 @return 等;
  2. 跟踪代码依赖性,实现替代配置文件功能。比较常见的是 Spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量;
  3. 在编译时进行格式检查。如把 @Override 注解放在方法前,如果这个方法并不是重写了父类方法,则编译时就能检查出。

2、简述元注解

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

  • @Retention:表示注解存在阶段是保留在源码,还是在字节码(类加载)或者运行期(JVM中运行)。
  • @Target:表示注解作用的范围。
  • @Documented:将注解中的元素包含到Javadoc中去。
  • @lnherited:一个被@Inherited注解尽的注解修饰了一个父类,如果他的子类没有被其他注解修饰,则它的子类也继承了父类的注解。
  • @Repeatable:被这个元注解修饰的注解可以同时作用一个对象多次,但是每次作用注解又可以代表不同的含义。