首先简单介绍下java反射的应用场景:java反射多用于框架设计中。
其次,简述下框架:可重复用的,用来提高编程效率的代码。一些重复性的工作不需要在去开发,直接利用框架集成起来,用的时候调用框架,传递参数等等。
再次,介绍下java反射获取类对象的三种方式:
Class.forName("全限定类名"):这种用的最常见,也最符合反射的理念,参数可以是字符串,也可以是在配置文件中配置。
对象.getClass(): 实例对象都有了再获取类对象,有些多余。
类名.class: 需要导包,不导包可能会出现编译错误。
以springBoot框架为例,简述下我的理解:
因为springBoot框架每个团队进行使用的时候,撰写的pojo类是差异悬殊的,并且在springBoot框架编写时也不知道时那些类会使用这个框架,但是为了能够代码复用,使用反射来在运行时加载类,获取类对象、类的方法、属性等。当开发团队写的代码使用springBoot框架时,在运行阶段将自己的类的全限定名给了springBoot框架,以使框架可以获取类对象,进而使用这些已经开发完的框架功能。
原文链接:https://www.cnblogs.com/myz99/p/17339069.html
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java反射的一些理解 - Python技术站