黑马程序员技术交流社区

标题: 一个关于反射的问题 [打印本页]

作者: 衣带赞    时间: 2013-11-20 19:01
标题: 一个关于反射的问题
因为框架是先于类产生的,所以在框架中要new某个类,就要用反射的机制来实现。通过编写一个config文件,在里面放键值对,然后用Porperties类中的load方法可以加载进内存,然后用Class.forName(String value)得到以后编写的某个类的.class文件对象,再用getContructor.newInstance()来创建新类的对象。
可是这只能产生一个无参数的对象,如果新的类中的构造函数只能通过接收某些参数来构造,如getContructor.newInstance(<Class>T ... obj),那如何知道新类需要接收哪些参数呢?如何得到那个新类的对象呢?同时反射中Feild类中的get方法,Method类中的invoke方法都要用到对象,这个对象必定是能创建出来的,可是如何在新类编写前创建呢?

作者: hurryup    时间: 2013-11-20 19:34
新人问得问题真是够深的。等待大牛来解答
作者: 零下五度的水    时间: 2013-11-20 20:22
框架不需要知道你要传递什么参数,
框架说白了就是让你调用一个方法就可以完成一连串的已定义的操作,
所以它需要的参数都可以通过配置文件读取
比如 getContructor.newInstance(<Class>T ... obj)
它只要把读取的参数接收之后放进一个数组里,比如Object[] params
然后直接 getConstructor.newInstance(params)就可以了
作者: 蔚蓝天色    时间: 2013-11-20 22:09
将你的字节码传过去,然后修改配置文件




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2