【代码优化】反射机制的慎用

反射——给定一个类的class实例,你可以获得Constructor,method和field实例。而且,Constructor,method和field实例

使你能够通过反射机制操作他们的底层对等体。


反射机制允许一个类使用另一个类,即使当前被编译的时候,后者还没根本不存在。然后有这种超能力是需要付出代价的:

  • 丧失了编译时候的类型检查的好处——包括异常检查。如果通过反射调用不存在或者不可访问的方法,运行时候就会失败。
  • 需要写非常笨拙的,冗长的代码——代码写的冗长,不易阅读
  • 性能问题——反射机制币普通的方法调用要慢很多


反射机制最初的思想也是为基于组建的应用创建工具而设计的,可能在设计中有使用到,但是对于普通的方法运行时不应该

使用反射机制调用。


必须在编译时无法获取类,但是编译时存在适当的接口或者超类,可以通过反射获取这个类。


简而言之,反射很强大的功能机制不能否认,对于特定复杂系统编程任务,反射机制很有用途,但是他也有很多缺点,

对于普通的方法调用,建议不采用反射机制,如果可能,可以使用反射实例化对象,对于方法的调用,我们使用已经

编译过的对象一致的接口或者超类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值