一、什么是注解
- Annotation作用:
(1)不是程序本身,可以对程序作出解释(和注释comment没有区别);
(2)可以被其他程序(如编译器)读取。 - Annotation格式:
@注释名 如@SuppressWarning(value=“unchecked”) - 使用场景
可以附加在package,class,method,field等,相当于给他们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问。
二、内置注解
- 在java.lang包里
- 示例:
(1)@Deprecated 用于修饰方法、属性和类,表示不鼓励程序员使用这样的元素(但是可以使用),通常是因为它很危险或者存在更好的选择。
(2) @SuppressWarning 用来抑制编译时的警告信息。需要添加一个参数才能正确使用,其中参数都是已经定义好的了,选择性使用即可。
如 @SuppressWarning(value=“all”)
@SuppressWarning(value=“unchecked”) // 未检查的
@SuppressWarning(value={“unchecked”,“deprecation”})
三、元注解
- 元注解的作用就是负责注解其他注解,Java定义了4个标准的meta-annotation类型,用来说明其他annotation类型,在java.lang.annotation包中。
- 四个元注解:
(1)@Target 用于描述注解的使用范围
(2)@Retention 用于描述注解的生命周期,表示需要在什么级别保存该注释信息 (SOURCE < CLASS < RUNTIME)
(3)@documented 说明该注解将被包含在javadoc中
(4)@Inherited 说明子类可以继承父类中的该注解
四、自定义注解
五、反射概述
六、获得反射对象
七、得到Class类的几种方式
八、所有类型的Class对象
九、类加载内存分析
十、分析类初始化
十一、类加载器
十二、获取类的运行时结构
十三、动态创建对象执行方法
十四、性能对比分析
十五、获取泛型信息
十六、获取注解信息
十七、本章小结