介绍:它是注释机制,使信息或元数据关联到程序中的元素(类,方法,成员变量),与程序业务逻辑无关,供指定工具或框架使用。
原理:通过反射机制访问annotation信息,框架或工具中相关类,以此信息决定如何使用。不影响代码执行。
@override 方法重写
@deprecated 方法或类过期
@SuppressWarning 取消显示指定编译器警告信息
比如A注解
public @interface A {
}
5.元注解
可用于自定义注解
@Target 表示该注解用于什么地方(类、方法、变量), @Retention 表示在什么级别保存该注解信息。 @documented 将此注解包含在 javadoc 中 @Inherited 允许子类继承父类中的注解6.java 注解的几大作用及使用方法详解
注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地(通过解析注解)使用这些数据,常见的作用有以下几种:
1.生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等 2.跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。 3.在编译时进行格式检查。如@Override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。
包 java.lang.annotation 中包含所有定义自定义注解所需用到的原注解和接口。如接口 java.lang.annotation.Annotation 是所有注解继承的接口,并且是自动继承,不需要定义时指定,类似于所有类都自动继承Object。
7.Annotation和interface的异同1. annotition的类型使用关键字@interface。它继承了java.lang.annotition.Annotition接口,并非申明了一个interface。
2. Annotation类型、方法定义是独特的、受限制的。Annotation类型的方法必须申明为无参数、无异常抛出的。
3. Annotation类型又与接口有着近似之处。它们可以定义常量、静态成员类型(比如枚举类型定义)。Annotation类型也可以如接口一般被实现或者继承。



