1 注解的定义和用途
1.1 官方描述
An annotation is a form of metadata, that can be added to Java source code.
Classes, methods, variables, parameters and packages may be annotated.
Annotations have no direct effect on the operation of the code they annotate.
注解是一种可以被添加到java代码中的元数据,属于java的一种数据类型,和类、接口、数组、枚举类似
类、方法、变量、参数、包都可以使用注解来修饰
注解对于它所修饰的代码并没有直接影响
1.2 用途
Annotations have a number of uses, among them:
Information for the complier – Annotations can be used by the compiler to detect errors or suppress warnings.
Compiler-time and deployment-time processing – Software tools can process annotation information to generate code, XML files, and so forth.
Runtime processing – Some annotations are available to be examined at runtime.
为编译器提供信息:编译器可以使用注解来检测错误或抑制警告
编译时和部署时处理:软件工具能处理注解信息从而生成代码,XML文件等等
运行时处理:有些注解可在运行时进行检查
2 使用自定义注解
注解其实就是一种标记,可以在程序代码中的关键点(类、方法、变量、参数、包)上打上这些标记,程序在编译时或运行时可以检测到这些标记从而执行一些特殊的操作
基本步骤
定义注解
配置注解 把标记打在需要用到的代码中
解析注解 在编译时或运行时检测到标记,并进行特殊操作
2.1 定义注解
1 //@CherryAnnotation被限定只能使用在方法上面,运行时有效
2 @Retention(RetentionPolicy.RUNTIME)3 @Target(value ={ElementType.METHOD})4 public @interface CherryAnnotation { //使用关键字@interface
5 publicString name();6 int age() default 18;7 int[] array();8 }
注解类型的声明:使用关键字@interface,在底层实现上,所有定义的注解都会自动继承 java.lang.annotation.Annotatio