J2EE第二十天
Java Annotation注解
Annotation 的由来:
从Java5.0版发布以来,5.0平台提供了一个正式的annotation功能:允许开发者定义、使用自己的annotation类型。此功能由一个定义annotation类型的语法和一个描述annotation声明的语法,读取annotation的API,一个使用annotation修饰的class文件,一个annotation处理工具(apt)组成。
Annotation可以从源文件、class文件或者正在运行时反射的多种方式被读取。
JDK5内建的Annotation:
Override
Deprecated
SuppressWarnings
自定义一个 Annotation 类型:
使用@interface自行定义Annotation型态时,实际上是自动继承了java.lang.annotation.Annotation接口
由编译程序自动为您完成其它产生的细节
在定义Annotation型态时,不能继承其它的Annotation型态或是接口
告知编译程序如何处理@Retention
在使用Retention型态时,需要提供java.lang.annotation.RetentionPolicy的枚举型态
注解的三种形态:
package java.lang.annotation;
public enum RetentionPolicy
}
java.lang.reflect.AnnotatedElement接口
public Annotation getAnnotation(Class annotationType);
public Annotation[] getAnnotations();
public Annotation[] getDeclaredAnnotations();
public boolean isAnnotationPresent(Class annotationType);
Class、Constructor、Field、Method、Package等类别,都实现了AnnotatedElement接口