01-反射机制

1.1 反射机制是什么

在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能为Java语言的反射机制。

1.2 反射的应用场合

程序在运行时可能接受到外部传入的对象,该对象的编译时类型为Object,但是程序有需要改对象的运行时类型的方法。
为了解决这些问题,程序需要在运行时发现对象和类的真实信息。
如果编译时根本无法预知该对象和类属于哪些类,比如这些类都是以字符串形式存放在配置文件中的时候,程序只能依靠运行时信息来发现该对象和类的真实信息,此时必须使用反射了。

1.3 反射的常用类

  1. Class类(模板类):java.lang.Class 反射的核心类,可以获取类的属性、方法等信息;
  2. Field类:java.lang.reflec包中的类,表示类的成员变量,可以用来获取和设置类之中的属性值;
  3. Method类:Java.lang.reflec包中的类,表示类的方法,它可以用来获取类中的方法信息或者执行方法;
  4. Constructor类:Java.lang.reflec包中的类,表示类的构造方法。

1.4 反射使用步骤

获取想要操作的类的Class对象,他是反射的核心,通过Class对象我们可以任意调用类的方法;
调用Class类中的方法,即就是反射的使用阶段;
使用反射API来操作这些信息。

  • 类的对象:基于某个类new出来的对象,也称为实例对象。
  • 类对象:类加载的产物,封装了一个类的所有信息
    ————类名、父类、接口、属性、方法、构造方法

01-反射机制
https://janycode.github.io/2016/04/28/02_编程语言/01_Java/01_JavaSE/08_反射机制/01-反射机制/
作者
Jerry(姜源)
发布于
2016年4月28日
许可协议