本帖最后由 石贤芝 于 2013-6-1 14:58 编辑
//早期:new时候,先根据被new的类的名称找寻该类的字节码文件,并加载进内存,
// 并创建该字节码文件对象(即Class),并接着创建该字节码文件对应的Person 对象。
cn.itcast.bean.Person p = new cn.itcast.bean.Person();
//现在用反射的时候:
String name = "cn.itcast.bean.Person";
//找寻该名称类的字节码文件,并加载进内存,并产生Class对象。
Class clazz = Class.forName(name);
//创建 Person 对象
Object obj = clazz.newInstance();
也就是说,第一句代码 和 后三句代码的功能是一样的,等价的。 原来一句代码能搞定的事情,在反射的时候要用这三句代码组合才可以搞定。 |