15.Java反射
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个 对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言 的反射机制。
Java 的动态就体现在反射。通过反射我们可以实现动态装配,降低代码的耦合度;动态代理等。反射的过度使用会严重消耗系统资源。
反射可以提供运行时的类信息,并且这个类可以在运行时才加载进来,甚至在编译时期该类的 .class 不 存在也可以加载进来。
java.lang.Class 和 java.lang.reflect 一起对反射提供了支持,java.lang.reflect 类库主要包含了以下三个类: Field :可以使用 get() 和 set() 方法读取和修改 Field 对象关联的字段; Method :可以使用 invoke() 方法调用与 Method 对象关联的方法; Constructor :可以用 Constructor 创建新的对象。