黑马程序员技术交流社区

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

作者: 罗力    时间: 2012-10-29 14:20
标题: 关于反射问题
反射也是得到的是一个对象,问什么要用反射得到一个实例,为什么不用new呢,一直想不明白,求大虾指教!
作者: 徐升兴    时间: 2012-10-29 14:26
为什么不用new,用new是因为我们知道要创建的对象类型是什么,如果我们不知道创建的对象的类型什么的时候,怎么创建对象呢?
这时候就要用到反射了
作者: 周万谋    时间: 2012-10-29 14:40
反射是主要用来做框架的,而做框架不允许使用new来实例对象,这样主要是为了提高程序的效率和扩展性;
因为类名等数据都是从配置文件里读出来的,通过拿到的数据再根据反射可以实例化你想要的任意对象;
我觉得这也是框架牛的地方,想要什么在配置文件里改就行了。
作者: 李连闯    时间: 2012-10-29 15:25
以spring为例,配置bean的时候填写的完整类名称,spring注入时根据配置的完整类名称来创建实例对象,这就需要反射的参与,
知道要创建的实例类型的话,可以直接使用new,即时型;
对于框架来说不可能提前知道用户配置的类型,所以需要通过读取配置文件获得类型名称,再通过反射来创建类的实例,迟钝型。




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