注解(或元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解在一定程度上是把元数据保存在java源代码中。注解其实就是特殊的接口,用@interface定义:
[public] @interface 注解名称 {
数据类型 变量名称(); //包含变量
}
注解元素的可用类型:
- 所有的基本类型
- String
- Class
- enum
- Annotation
- 以上类型的数组
JDK1.5之后系统内置三个注解:
- @Override:检查覆写的方法正确性
- @Deprecated:对一个不建议使用的方法或类给出警告信息。
- @SupperssWarnings:压制警告。
java中常用的元注解有四个:
- @Target :明确指定了一个注解的使用位置。
- @Retention:定义一个注解的保存范围,SOURCE,CLASS还是RUNTIME。
- @Documented:生成javadoc是将一些文档的说明信息写入。
- @Inherited:定义注解时用@Inherited标注,可使得声明的注解被子类继承。
元注解(meta-annotation)是专职注解其他注解的注解。
注解的使用结合了反射机制。