前言
注解(Annotation),是源码中特殊的语法元数据,类、方法、变量、参数都可以被注解。利用注解可以标记源码以便编译器为源码生成文档和检查代码,也可以让编译器和注解处理器在编译时根据注解自动生成代码,甚至可以保留到运行时以便改变运行时的行为。
内置注解
- @Override 注解用来表明该方法是重写父类方法,编译器会负责检查该方法与父类方法的声明是否一致。
- @Deprecated 注解用来表明该元素已经被废弃不建议使用了。
- @SuppressWarnings 注解用来表示编译器可以忽略特定警告。
注解类型的声明
注解类型的声明和接口的声明类似,不过需要使用 @interface 和元注解(用来定义注解的注解)描述,每个方法声明定义了注解类型的一个元素,且方法声明不能包含任何参数或 throws,方法的返回类型必须是原语类型、String、Class、枚举、注解和这些类型的数组,方法可以有默认值,如:
public @interface RequestForEnhancement{
int id();
String synopsis(); //概要
String enginner() default "[unassigned]";
String date() default"[unimplemented]";
}
定义完注解类型后,就可以用它去注解一些声明了。注解是一种特殊的修饰符,可以像 public、static 或 final 修饰符一样使用,不过通常注解要写在这些修饰符之前。使用时为 @ 符号加注解类型加元素值对列表并用括号括起来,如:
@RequestForEnhancement(
id=123456,
synopsis = "This is SYNOPSIS",
enginner = "Zc",