Java的反射应用的场合

Java从很早就提供了反射技术,我们在很多的程序中会使用到这种技术,他的应用场合总结起来有三方面:

 

1.编写一些程序时,对程序中的一些类名需要或者方法名不能在程序中写死,可能是根据配置文件中的某个参数

   而定,在运行的过程中根据这个参数来决定使用的类名或方法名。

2.在程序运行的过程中,对于某一对象并不知其确切的类名,只知道其方法名以及参数,或者此对象内部的实

   例变量,却要在程序中调用该方法,或使用该实例变量,就可以反射的方法来实现。

3.在调用一些第三方库或者在使用其他的框架层或系统层API时,可能这些库或API根据其版本的不同变化较大。

   比如某些类中的某些方法在低版本中没有而由高版本添加,或者是某些类在低版本和高版本有很大的不同。

   我们开发的程序需要兼容这些不同,在某些特殊的功能上需要对不同的版本做出不同的处理。但是我们又不

   可能去针对这些不同开发不同的程序。这个问题可以使用反射机制得到部分解决。在代码中判断版本的不同,

   然后根据版本的不同使用反射调用不同的API,注意:这里是反射调用,如果不适用反射,则程序有可能就

   不能通过编译。

 

 其中前两方面在很多的程序或框架中都由使用,而第三种场合容易被忽视。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值