A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 欧阳超 黑马帝   /  2011-10-7 10:32  /  4322 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Xun m=(Xun)Class.forName(s).newInstance();
m.ShuChu();
//Xun m=new Xun();
//m.ShuChu();
上面两者有什么区别吗

4 个回复

倒序浏览
反射对象是直到程序运行期间才知道类的名字的实例,这时才获取对象的成员,并设置属性。此时要用到类的全路径 ,用类的全路径来加载类,并返回该类的对象。以后就可以遍历类中的各个方法,各个属性。
new是给类直接在内存中创建一个实例,并且可以直接初始化等。不需要类的全路径。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
从结果来说没有区别。
只是反射能够实现动态的效果
用new只能在编译期就确定对象的类型

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
呵呵!你们回答的都不错,我来补充一下,对编写一个良好的程序来讲,我们要遵循高内聚、低耦合的原则,通过new关键字,使得程序耦合度较高,依赖性太强,而反射就能帮我们解决这种问题,所以在以后大家注意就可以了。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
简单的理解就是:new是创建,而反射是调用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马