一、反射的概念
反射是一种计算机的处理方式,是程序可以访问、检查和修改本身状态或行为的一种方式。
- Java 的反射可以在运行时加载,探知和使用编译期间完全未知的类。
- 对于一个已经加载的类,可以知道类的所有属性和方法。对于任意一个已经加载的对象,可以调用该对象的任意一个属性和方法。
- 在Java虚拟机中,加载完类之后,会生成一个Class类型的对象,该对象包括了类的完整结构信息,通过这个Class对象可以看到类的所有结构,所以称之为反射。
- Java的反射使得我们可以在程序运行时动态加载一个类,动态获取类的基本信息和定义的方法,构造函数,域等。
- Java的反射还让我们能够动态的创建类的实例,并执行实例的方法,获取类实例的域值,
二、反射的作用
通过反射可以使程序代码访问到JVM中的类的内部信息
- 获取已经装载类的属性信息
- 获取已经装载的类的方法
- 获取已经装载的类的构造方法
三、反射的优点
主要就是增加了程序的灵活性。