基本注解:
@Deprecated 注明方法是废弃的
@SuppressWarning 静默编译器生成的警告
自定义注解:
自定义注解必须使用两个基本的元注解——@Target和@Retention。这两个注解接受的值都在枚举中定义。
@Target元注解指明自定义的新注解能在java源码的什么地方使用。可用的值在枚举ElementType中定义,包括:TYPE、FIELD、METHOD、PARAMETER、CONSTRUCTOR、LOCAL_VARIABLE、ANNOTATION_TYPE、PACAGE、TYPE_PARAMETER、和TYPE_USE。
另一个元注解@Retention指明javac和java运行时如何处理之定义的新注解类型。可使用的值有三个,在枚举RetentionPolicy中定义
- SOURCE 使用这个保留原则的注解,编译时会被javac抛弃
- CLASS 表示注解会出现在类文件中,但运行时JVM无法访问
- RUNTIME 表示用户的代码在运行时(使用反射)能访问到这个注解