Java Reflection概述

什么是java反射

反射是java中的非常重要的一项机制,也称做Reflection。反射机制是在运行状态中,

对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够

调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能

称为java语言的反射机制。


Java反射是可以让我们在运行时获取类的函数、属性、父类、接口等Class内部信息的机制。

通过反射还可以让我们在运行期实例化对象,调用方法,通过调用 get/set 方法获取变量的值,

即使方法或属性是私有的的也可以通过反射的形式调用,这种“看透 class”的能力被称为内省,

这种能力在框架开发中尤为重要。有些情况下,我们要使用的类在运行时才会确定,这个时候

我们不能在编译期就使用它,因此只能通过反射的形式来使用在运行时才存在的类(该类符合某种特定的规范,例如 JDBC),

这是反射用得比较多的场景。还有一个比较常见的场景就是编译时我们对于类的内部信息不可知,

必须得到运行时才能获取类的具体信息。比如ORM框架,在运行时才能够获取类中的各个属性,

然后通过反射的形式获取其属性名和值,存入数据库。这也是反射比较经典应用场景之一。


你可能感兴趣的:(#,---Reflections)