学习目标
什么是反射
反射运行原理
了解反射机制的相关类
获取 class 对象的 3 种方式
通过反射获取构造方法并使用
通过反射获取成员变量并调用
通过反射获取成员方法并调用
反射的实际应用案例
 
 
Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class Class
用于表示 .class 文件(字节码))
一、反射的概述
定义: JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和
方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以
及动态调用对象的方法的功能称为 java 语言的反射机制。
要想解剖一个类 , 必须先要获取到该类的字节码文件对象。而解剖使用的就是 Class 类中的方
. 所以先要获取到每一个字节码文件对应的 Class 类型的对象。
以上的总结就是什么是反射。
反射就是把 java 类中的各种成分映射成一个个的 Java 对象。
例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进
行解剖,把个个组成部分映射成一个个对象。
(其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述)
如图是类的正常加载过程:反射的原理在与 class 对象。
熟悉一下加载的时候: Class 对象的由来是将 class 文件读入内存,并为之创建一个 Class 象。
 
二、反射机制的相关类
Java 反射相关的类如下:
类名                                                    用途
Class 类                                         代表类的实体,在运行的 Java 应用程序中表示类和接口
Field  类                                         代表类的成员变量(成员变量也称为类的属性)
Method 类                                 代表类的方法
Constructor 类                         代表类的构造方法
 
 
10-15 07:36