Java基础:Reflection 反射机制理解

反射(Reflection)是 Java 中的一种工具,即运行态的 Java 程序可获取任意一个对象的信息,并且可以操作类或对象的内部属性(类型、属性、方法)。
  
程序中一般的对象的类型都是在编译期就确定下来的,而Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。

反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。反射是相对常规的通过new来创建对象方式的反操作的称呼。

实际上,只有当程序需要动态创建某个类的对象时才会考虑使用反射,通常在开发通用性比较广的框架、基础平台时可能会大量使用反射。

阅读更多