注解是插入到源代码的标签,由其他工具对其进行处理,不会改变程序的编译方式
1 注解位置
在 Java 中,注解是当作一个修饰符来使用的。它被置于被注解项之前,中间没有分号。每一个注解的名称前面都加上了 @ 符号。
2 注解项
注解项可以是方法、类、成员以及局部变量,还可以是包、参数变量、类型参数和类型用法。
3 注解接口
每个注解都必须通过@interface
注解接口进行定义。接口中的方法与注解中的元素相对应。
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
long timeout() default 0L;
}
注解 Target 和 Retention 是元注解。它们注解了 Test 注解,即将 Test 注解标识成一个只能运行到方法啥功能的注解,并且当类文件载入到虚拟机的时候,仍可以保留下来。
4 获取注解
- isAnnotationPresent():如果该项具有给定类型的注解,则返回 true
- getAnnotation():获得给定类型的注解。
- getAnnotations():获得作用于该项的所有注解,包括继承而来的注解。
- getDeclaredAnnotations():获得为该项声明的所有注解,不包含继承而来的注解。
Method、Constructor、Field、Class 和 Package 都支持。