第14章【Annotation】注解
- Annotation 的概念和作用
- @Override 注释的功能和用法
- @Deprecated 注释的功能和用法
- @SuppressWarnings 注释的功能和用法
- 自定义注释
- 重复注解
- Type Annotation
- 提取注释信息
- @Retention 注释的功能和用法
- @Target 注释的功能和用法
- @Documented 注释的功能和用法
- @Inherited 注释的功能和用法
- 使用 APT 工具
访问和处理Annotation 的工具统称为APT(Annotation Processing Tool)
5个基本的Annotation为:@Override、@Deprecated、@SuppressWarnings、
@SafeVarargs:修饰引发堆污染警告的方法或构造器
@FunctionalInterface:函数式接口(一个抽象方法,默认方法或static方法随意),该注解只能修饰接口,提醒编译器检查该接口
告诉编译器检查该方法:必须为重写父类的方法;只能用于方法
标识已过时,对于方法、类、接口等
抑制编译器警告
使用@interface 关键字
JDK的元注解之一
指定被修饰的注解可以保留多久
取如下值:
- RententionPolicy,CLASS:记录在class文件。运行程序时JVM不会获取Annotation信息
- RententionPolicy,RUNTIME:记录在class文件。运行程序时可以获取Annotation信息,可以通过反射获取信息
- RententionPolicy,SOURCE:只保留在源代码,编译器直接丢弃Annotation
JDK的元注解之一
指定注解可以修饰哪些元素,有如下值:
- ElementType.ANNOTATION_TYPE:修饰Annotation
- ElementType.CONSTRUCTOR:修饰构造器
- ElementType.FIELD:修饰成员变量
- ElementType.LOCAL_VARIABLE:修饰局部变量
- ElementType.METHOD:修饰方法
- ElementType.PACKAGE:修饰包定义
- ElementType.PARAMETER:修饰参数
- ElementType.TYPE:修饰类、接口、枚举
JDK的元注解之一
指定注解修饰的类将被javadoc 工具提取成文档
JDK的元注解之一
指定该注解修饰的类的子类会自动继承父类的该注解(带@Inherited的)