00024.06 反射:反射的应用——公司需要用到的在一个类里面写一个方法,在另外一个包的类里面通过反射去调用这个方法

,# 系列文章目录

前言

好朋友问我,在一个类里面写一个方法,在另外一个包里面怎么通过反射去在调用这个方法,这个在公司里面经常会用到要怎么做到呢

一、需求

在这里插入图片描述

二、使用步骤,要怎么做呢

答案

在这里插入图片描述

详细分析

假如一个包里面
在这里插入图片描述
如果是一个包里面,直接调用就好了,根本不需要用到反射
在这里插入图片描述
如果不是一个包里面怎么调用,而且你完全不可以改动以前的包
讲道理,其实不用反射也可以
在这里插入图片描述
但是某些特殊情况要求必须要用反射,,不准你实例化怎么处理
那就必须使用到反射了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用反射得到该方法,并且获得返回值
在这里插入图片描述

在这里插入图片描述
如果是无参的
在这里插入图片描述
也可以获取到当前类的全部方法

在这里插入图片描述

总结

反射机智有什么作用:
1、假如你实例化一个person()对象,不使用反射,new person();如果想变成 实例化其它的类,那么
必须修改源代码,并且重新编译。
如果使用反射 class.forName(“person”).newInstance();而且这个类 描述可以写到配置文件中,如**.xml ,这样如果想实例化其它类,只需要修改配置文件的“类描述”就可以了,不需要重新修改代码并且编译

2、反射就像一把手术刀,可以将一个类破开,供你使用

3、增加程序的灵活性
如struts中。zhi请求的派发dao控制。
当请求来到时。struts通过查询配置文件zhuan。找到该shu请求对应的action。已经方法。
然后通过反射实例化action。并调用响应method。
如果不适用反射,那么你就只能写死到代码里了。
所以说,一个灵活,一个不灵活。
很少情况下是非用反射不可的。大多数情况下反射是为了提高程序的灵活性。
因此一般框架中使用较多。因为框架要适用更多的情况。对灵活性要求较高
4、反射也有缺点:
a、可读性不好,相比不使用反射来说,可读性欠佳
b、影响性能

4、初学者有点不好记,多敲几遍,大概十来遍吧,必拿下

5、这个世界上就没有十全十美的东西,代码也一样

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值