药品网站 icp,网站设计及建设合同,网站常用模块,医院门户网站制作什么是反射反射在java中起到什么样的作用获取class对象的三种方式反射的优缺点图 什么是反射 JAVA反射机制是在运行状态中#xff0c;对于任意一个类#xff0c;都能够知道这个类的所有属性和方法#xff1b;对于任意一个对象#xff0c;都能够调用它的任意一个方法和属性对于任意一个类都能够知道这个类的所有属性和方法对于任意一个对象都能够调用它的任意一个方法和属性这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 简单来说就是给你一个类你就能通过反射的机制获取里面的东西 举个例子姐姐告诉你她要结婚了并告诉了你时间和地点其它的你什么都不知道但是你可以在那个时间去参加姐姐的婚礼从而知道摆了几桌、新郎长什么样、伴娘有哪些这就相当于反射通过时间地点反射出其它的信息在这个例子中时间和地点相当于类而我们可以通过反射的机制得到这个类里面的 摆了几桌、新郎长什么样、伴娘有哪些 反射在java中起到什么样的作用 java的反射作用的地方有很多比如注解中也有广泛的运用而且和注解强相关的一些框架如spring中使用的也非常频繁通过反射获取执行的类然后生成类实例只是反射中一部分的作用而已反射的理念有点像是一种代理本身真实的对象并不需要显性的露面也有点像IOC把需要执行的动作交给调用方不是自己把所有类都加载完毕然后挑某一个执行而是调用方法想执行哪一个类就去加载该类然后再执行 获取class对象的三种方式 类名.class属性 对象名.getClass()方法 Class.forName(全类名)方法
反射的优缺点 优点 增加程序的灵活性避免将固有逻辑写死代码简洁可读性强可提高代码的复用率 缺点 相比较于直接调用在访问量较大的情况下反射会导致系统性能明显下降打破了类的封装性存在一定的安全隐患 图