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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冉世友 中级黑马   /  2013-1-5 22:31  /  1337 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 冉世友 于 2013-1-5 22:32 编辑

讲到反射可以创建实例,new也可以创建实例,有什么区别?
带着好奇在网上搜了下,和大家分享一下:

反射和new的本质区别:

new属于静态编译,而反射属于动态编译,只有到运行时他才会去获得该对象的实例。

静态编译就是在编译的时候把你所有的模块都编译进exe里去,当你启动这个exe的时候所有模块都加载进来了。你写小程序没问题,但程序一大,加载的过程就费劲了。
动态编译就不一样了,你编译的时候那些模块都没有编译进去,一般情况下你可以把那些模块都编译成dll,这样你启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到那个模块就调用哪个模块。

1 个回复

倒序浏览
原来是这样,学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马