请问JAVA的反射机制在工作中经常用到吗?
PHP中文网
PHP中文网 2017-04-17 11:11:19
[Java讨论组]

请问JAVA的反射机制在工作中经常用到吗? 老程序猿都说反射机制非常的重要,可是工作中也没用到啊,求大神解答!!!

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
大家讲道理

反射用的不多,大多数时候你用不上它。但:

  • 文件操作API也用的不多,但你有业务需求的时候没它不行;

  • 线程用的不多,但有时候没线程程序几乎跑不起来;

  • LinkedList也用的不多,但在某些情况下它的效率要比ArrayList要高几十倍;

  • TreeMap也用的不多,但有时候它能简化你的代码;

  • 接口(interface)也不是必须的,你可以不写interface完成几乎所有的功能;

  • 甚至,面向对象也不是必须的,你可以用过程式的代码完成别人用几十个类做的功能;

知识学到了是自己的,何必搞得好像是被迫学习一样,有这个提问的时间都学完了。

P.S. 补充一下:

对于J2EE来说,Hibernate之类的ORM全都基于动态字节码和反射技术,Spring等IoC框架也基于动态代理(有时是动态字节码)和反射技术,各类流行的MVC也是Servlet+反射的实现。

对于Android来说,其本身的Context.startActivity/sendBroadcast等都是基于反射,如Gson/Jackson等JSON-ORM都是基于反射,反射技术还能解决部分跨进程调用问题及系统hack。

阿神

大多数框架用到反射,如果你想研究学习框架,甚至写自己的框架,学反射可以说是必然的。

PHP中文网

取决于你的程序场景 反射可以解决静态编译时不确定运行库是否有某个API的情况

比如android开发时,一个系统API是4.0以上SDK才有的,但是你的程序需要在2.3以上版本运行

那么如果你显式的直接调用这个API,那么就会编译不通过

这时使用反射机制就可以绕过静态语言的编译时检查,等到运行时才做检查.

可以认为是削弱系统耦合程度的一种方式


所有的功能都是针对某些场景存在的,你遇到了就有用,遇不到就没用

PHP中文网

反射能把很多业务逻辑进行抽象,形成公用的方法。这也是为什么很多框架会用到反射的原因,可以学一些框架,看里面是如何用反射的。

PHPz

反射是学习框架的必备知识。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号