反射-Reflection
反射概念
Java 的反射机制是指在运行状态中:
- 对任意一个类,都能够知道这个类的所有属性和方法
- 对任意一个对象,都能调用这个对象的所有属性和方法
反射的作用
- 检查类的属性和方法
- 在运行时检查对象的类型
- 动态构造某个类的对象
- 可以任意调用对象的方法
反射的使用
1. java.lang.reflect 包中的三个类
- Field:成员变量
- Method:成员方法
- Constructor:构造方法
2. 对 public 域的方法
包括父类成员。
- getField
- getMethod
- getConstructor
3. 对其他域的方法
包括 private 和 protected 的成员,但不包括父类成员。
- getDeclaredField
- getDeclaredMethod
- getDeclaredConstructor
利用反射访问私有属性:使用 setAccessible(true)
反射的不足
性能是一个问题。反射相当于一系列解释操作,通知 Java 虚拟机要做什么,性能比直接的 Java 要慢很多。
推荐阅读:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。