各司其职的厉害-java反射的价值

对于反射,大家都不陌生。使用new 和反射来创建对象,其中一个区别就是,使用new时那个类在编译时字节码已经存在,而反射时,只要在运行时能拿到其字节码即可。

我们写的代码如果是封闭系统,不打算别人扩展定制的话,用new就可以了。但是,事实上,很多软件都是为了扩展而用的。所以,运行时才需要字节码,是多么重要。其实new创建对象时,他自己起了调度自己的作用,掌握了自己的生死;而反射的对象,只是行使其自己的职能;至于何时何地开始创建这个对象,开始执行其功能那是其他模块的事情。正是这样,各司其职不越界,大家互相配合,整个软件系统才灵活性高,易扩展起来。比如tomcat这个容器,扮演着生杀大权在握的管理者角色,我们开发的jsp等,只是在其调度下,加载,释放。

posted @ 2017-02-28 22:38  元亨利贞地山谦  阅读(143)  评论(0编辑  收藏  举报