Java反射是什么?
Java是一个静态的语言,而Java反射就弥补了Java静态语言的不足。
反射被视为动态语言的关键,反射机制允许程序在执行期间借助Reflection API取得任何类的内部信息,并且能直接操作任意对象的内部属性及方法。在程序加载完类之后,在对空间的方法区就产生了一个Class对象(一个类从出生到消亡就包含一个class对象),这个对象就包含完整类的结构信息,我们可以通过这个对象就像一面镜子,通过这个镜子看到类的结构所以叫做反射。
反射能做什么?
- 运行时判断任意一个对象所属的类:
- 运行时构造任意一个类的对象
- 运行时判断任意一个类所具有的成员变量和方法
- 运行时获取泛型信息
- 运行时 调用任意一个对象的成员变量及其方