认识反射机制
一、 具体内容
反射指的是对象的反向处理操作,首先需要观察一下‘‘正’’的操作。在默认情况下,必须要先导入一个包,而后才能产生类的一个实例化对象:
例如
package cn.mldn.demo;
import java.util.Date;
public class TestDemo {
public static void main(String[ ] args) {
Date date = new Date( ) ; //正常来讲需要通过类才可以产生实例化对象
}
}
所谓的“反”指的是根据对象来取得对象的来源信息,而这个“反”的操作核心的处理就在于 Object 类的一个方法,即取得 Class 对象:public final<?> getClass;
该方法返回的是一个 Class 类对象,这个 Class 描述的就是类。
二、范例:调用 getClass
package cn.mldn.demo;
import java.util.Date;
ublic class TestDemo {
public static void main(String[ ] args) {
Date date = new Date( ) ; //正常来讲需要通过类才可以产生实例化对象
System.out.println(date.getclass ( ));
}
}
此时通过对象的确取得了对象的来源,这就是“反”的本质。
如:
我们通过 getclass 找到对象 date 的来源,之后就可以对这个对象的来源进行控制,即为核心所在
执行操作的结果:Class java,until,Date
三、总结
在反射的世界里面它所看重的不再是一个对象,而是对象身后的组成(类、构造、普通、成员等),这就是“反”的本质