黑马程序员_java学习笔记二 反射(一)

来源:互联网 发布:嵌入式linux如何安装 编辑:程序博客网 时间:2024/05/16 15:53

 ----------------------android培训、java培训、期待与您交流! ----------------------


刚开始学对反射很是模糊,看完张老师的视频后,对他那句“反射就是把java类的成份(成员变量、构造方法、方法等)反射到相应的java类中有了进一步的认识与思考。反射是程序对自身 信息的检查,并得到你想要的成份;

在百度文库中有人是这么写的:

为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态与静态的概念, 
    静态编译:在编译时确定类型,绑定对象,即通过。 
    动态编译:运行时确定类型,绑定对象。动态编译最大限度发挥了java的灵活性,体现了多 
    态的应用,有以降低类之间的藕合性。 
    一句话,反射机制的优点就是可以实现动态创建对象和编译,体现出很大的灵活性,特别是在J2EE的开发中 
    它的灵活性就表现的十分明显。比如,一个大型的软件,不可能一次就把把它设计的很完美,当这个程序编 
    译后,发布了,当发现需要更新某些功能时,我们不可能要用户把以前的卸载,再重新安装新的版本,假如 
    这样的话,这个软件肯定是没有多少人用的。采用静态的话,需要把整个程序重新编译一次才可以实现功能 
    的更新,而采用反射机制的话,它就可以不用卸载,只需要在运行时才动态的创建和编译,就可以实现该功 
    能。 
       它的缺点是对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它 
    满足我们的要求。这类操作总是慢于只直接执行相同的操作。 

确实,这些我不否定,但感觉有些时候,至少在代码量方面,直接创建对象比用反射机制反射出来的方法要少得多,

这样不是更好么? 可见有些时候反射的应用性能会差于直接创建对象 ;



 ----------------------android培训、java培训、期待与您交流! ----------------------
原创粉丝点击