目录
一、注解
注解是用于给Java代码附加元数据,可在编译时或运行时解析并处理这些元数据。但是注解是一种分散式的元数据,与源代码紧绑定。
-
注解的作用:
- 生成文档,通过代码里标识的元数据生成javadoc文档。
- 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。
- 编译时动态处理,编译时通过代码里标识的元数据动态处理,例如动态生成代码。
- 运行时动态处理,运行时通过代码里标识的元数据动态处理,例如使用反射注入实例。
-
注解的分类
- 元注解
元注解是用于定义注解的注解,包括 @Retention、@Target、@Inherited、@Documented。
@Retention用于标明注解被保留的阶段;
@Target用于标明注解使用的范围;
@Inherited用于标明注解可继承;
@Documented用于标明是否生成javadoc文档。 - Java自带的标准注解
@Override,@Deprecated,@SuppressWarnings,用这些注解标明后编译器就会进行检查。
@Override用于标明重写某个方法
@Deprecated标明某个类或方法过时
@SuppressWarnings标明要忽略的警告 - 自定义注解
可以根据自己的需求定义注解,并可用元注解对自定义注解进行注解。
-
示例
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface TestAnnotation {
int id();
String msg();
}
-
注解的优缺点
优点:
- 保存在 class 文件中&#x