一.元注解
- @Target:表示该注解可以用于什么地方。可选的ElementType参数包括:
- TYPE:类,接口(包括注解类型),enum的声明。
- FIELD:域的声明(包括enum实例)。
- METHOD:方法的声明。
- PARAMETER:参数的声明。
- CONSTRUCTOR:构造器的声明。
- LOCAL_VARIABLE:局部变量的声明。
- ANNOTATION_TYPE:注解的声明。
- PACKAGE:包的声明。
- SOURCE:注解将被编译器丢弃。
- CLASS:注解在class文件中可用,被VM丢弃。
- RUNTIME:VM会把注解加载到内存里,运行期间可见,所以可以通过反射读取注解的信息。
二.标准注解
J2SE5里内置了三种
- @Override
- @Deprecated
- @SuppressWarnings
三.自定义注解
- 标记注解:没有元素的注解称为标记注解。
- 其它注解:定义了元素的注解。
四.注解元素
自定义一个注解类时,类里面的元素只能是如下类型,如果使用其它类型,编译器报错。
- 所有基本类型(注意不能使用包装类型)
- String
- Class
- enum
- Annotation
- 以上类型的数组