七.注解
(1)注解:注释,注入(标注)
(2)
1.java内置注解:共有7个,3个在java.lang包下,4个在java.lang.annotation包下
annotation是一个接口,这7个注解都是annotation的实现类
(1)注解代码的注解
- @Override - 重写。标记重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。
- @Deprecated - 弃用。标记过时方法。如果使用该方法,会报编译警告。
- @SuppressWarnings - 压制警告。指示编译器去忽略注解中声明的警告。
(2)元注解(注解其他注解的注解)
- @Retention -(保留,指定annotation的保留策略) 标识这个注解怎么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问。
- @Target -(指定annotation的目标类型) 标记这个注解应该是哪种 Java 成员。
- @Documented - (文档化的)标记这些注解是否包含在用户文档中。
- @Inherited - (继承的。所标注的annotation将具有继承性)标记这个注解是继承于哪个注解类(默认 注解并没有继承于任何子类)
2.每 1 个 Annotation都与 "1 个 RetentionPolicy" 关联,并且与 "1~n 个 ElementType" 关联
RetentionPolicy 是 Annotation 的保留策略属性
ElementType 是 Annotation 的作用类型属性
3.public enum ElementType {TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIBLE,ANNOTATION_TYPE,PACKGE} 8个
public enum RetentionPolicy {SOURCE,CLASS,RUNTIME}