Java中为什么需要反射?

反射是什么呢?当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载,这样的好处对于服务器来说不言而喻,举个例子我们的项目底层有时是用mysql,有时用oracle,需要动态地根据实际情况加载驱动类,这个时候反射就有用了,假设 com.java.dbtest.myqlConnection,com.java.dbtest.oracleConnection这两个类我们要用,这时候我们的程序就写得比较动态化,通过Class tc = Class.forName("com.java.dbtest.TestConnection");

通过类的全类名让jvm在服务器中找到并加载这个类,而如果是oracle则传入的参数就变成另一个了。这时候就可以看到反射的好处了,这个动态性就体现出java的特性了!


举个个例子,大家如果接触过spring,会发现当你配置各种各样的bean时,是以配置文件的形式配置的,你需要用到哪些bean就配哪些,spring容器就会根据你的需求去动态加载,你的程序就能健壮地运行。


使用反射的好处:

1.提高代码的灵活性

2.屏蔽掉实现的细节,让使用者更加方便好用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考地址:(1)https://www.zhihu.com/question/24304289/answer/14...
    YangEvol阅读 375评论 0 1
  • 一、Java的解释机制 Java编写的程序,一次编译,只要装有Java虚拟机JVM的地方就可以在任意平台到处运行。...
    BestFei阅读 309评论 0 2
  • 什么是反射? java的内存模型,我们关注的点,一个方法区,一个栈,一个堆 首先我们了解一下JVM,什么是JVM,...
    Finlay_Li阅读 208评论 0 1
  • 好久不见,在疫情的控制下,我急需一杯奶茶续续命! 作者:王炸 |【坚持1000篇原创】 2020.2.21 王炸的...
    八年码农阅读 196评论 0 3
  • 说下最粗暴简单的理解:平时创建对象是 XX a=new XX(); 这是从类创建对象,那么反射就是由对象找到类以及...
    琴匣自鸣阅读 3,932评论 0 3