关于方法中的this参数
public Object createProxy() { Object proxy = Proxy.newProxyInstance(userDao.getClass().getClassLoader(), userDao.getClass().getInterfaces(), this ); return proxy; }
我想问一下这里面的this,我理解的情况是这个this是调用处理器这个接口的实例吗,那这个this是怎么关联到调用处理器类的呢?又或者是,继承这个接口类的目的就是为了接口类里面的invoke方法吧,所以这个this指代的就是这段代码所在的类也就是课程中的MyJdkProxy,然后底层实现会自动在MyJdkProxy类里面寻找invoke方法。
45
收起
正在回答
1回答
同学你好!
关于this是什么的问题,可以在代码中打断点看一下,很显然就是MyJdkProxy对象
关于在调用方法时,是如何触发invoke方法的,同学可以按以下思路理解:
1)在获取到proxy时,在proxy中代理这个接口中的invoke方法。
2)当调用其中的一个方法时,比如:save方法。除了会调用save方法还会隐式(不需要手动调用)调用invoke方法
如果同学想知道proxy是如何完成这一系列操作的,需要阅读以下Proxy这个类的源码了
因此同学这里只需要知道调用方法时,也会调用invoke方法就可以。知道怎么用就可以。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
4. SSM到Spring Boot入门与综合实战
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星