本节概览:介绍反射的基本用法,获取对象、获取成员变量和获取方法。

1 解析

1.1 Class对象获取

用一个Class类表示一个类的定义信息,一个Class的实例对象可以保存一个类的信息。

1. 通过对象获取

2. 通过Class的静态forName方法

3 通过类的class方法

1.2 分析类

为了分析类,引入了Field、Method和Constructor三个类。

1. Class类的getFields、getMethods和getContractors方法将分别返回类提供的public类型的数据域、方法和构造器三种对象的数组。

2. Class类的getDeleareFields、getDeclareMethods和getDeclaredConstructors方法将分别返回类型不仅有public类型,还有私有和受保护的类型。

3. 通过函数

获取一个方法Method对象

4. 举例

1.3 动态利用反射

1. Class对象的newInstance方法用来创建实例对象。

2.  Field相关方法

3.  Method方法

2 反射应用

Spring IOC,根据在xml配置的bean或者使用注解(@contract/@service/@Repository)来创建一个实例化bean对象保存到上下文。

分类&标签