反射有个小疑问

反射有个小疑问

当时学习反射,方法对象调用invoke的时候传入的是一个员工对象证明调用的方法是员工这个类的,但是这次传入的是obj对象。
问题是obj对象里面没有我的set方法,为什么还可以传入obj对象调用apple类的set方法

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
胖胖的工程师 提问者 2022-10-30 17:24:21
635e429800011b9110660480.jpg这段代码 39行invoke传入的obj对象
为什么可以传入obj,obj也没有我要的set方法
  • 同学你好,1、c.newInstance();代码创建的是Apple类型的对象,如下所示:只不过Object是所有类的父类,所以将类型定义为Object类型(Object obj )。并此处是实现IOC容器,所以并不会将实例的对象进行强制转换。

    https://img1.sycdn.imooc.com//climg/635e46330902842808010345.jpg

    2、在 setMethod.invoke(obj,propValue);代码处会根据c.newInstance();创建的Apple类对象进行传递,获取到同学想要的set方法。

    祝学习愉快!

    2022-10-30 18:28:53
好帮手慕小尤 2022-10-30 13:29:57

同学你好,同学描述的是那段代码,建议同学重新描述一下,并建议同学反馈到问答区,便于老师定位问题。

祝学习愉快!

  • 提问者 胖胖的工程师 #1

    麻烦您看下我那个回答里面有图

    2022-10-30 17:24:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师