定义注解
定义注解需要使用元注解(meta-annotation)
- @Target 指定作用的地方:方法或者域;
- @Retention 指定哪个级别可用:SOURCE(源代码)、CLASS(类文件)、RUNTIME(运行时);
- @Documented 将此注解包含在Javadoc中;
- @Inherited 允许子类继承父类的注解。
标准注解
- @Override 当前的方法定义将会覆盖父类的方法,如果拼写错误,编译会报错;
- @Deprecated 如果使用了注解为它的元素,那么编译器会发出警告;
- @SuppressWarnings 关闭不当的编译器警告信息。
注解处理器
读取注解的工具;
Java SE5拓展了反射机制的API,用来帮助程序员构造这类工具,并提供外部工具apt帮助程序员解析带有注解的Java源代码。
AnnotatedElement 接口
- getAnnotation()
- getDeclaredMethods()
默认值限制
注解中定义的默认值不能以null作为值