为了账号安全,请及时绑定邮箱和手机立即绑定

是不是调用代理类实例的方法的时候,都会自动调用invoke????

这个视频反反复复看了老大半天,有两点不懂???

  1. 调用Proxy.newProxyInstance 方法返回的值怎么就知道是Car的代理类实例???虽然定义的时候定义的是返回的是代理类实例。

  2. invoke方法里边是代理过程具体执行的类,通过m.move怎样去触发invoke??根本就理解不了。

望大神帮忙在细讲讲,万分感谢

正在回答

7 回答

你好,请问一下触发到TimeHandler.invoke()的方法  invoke里面的参数 是怎么传过来的?谢谢

0 回复 有任何疑惑可以回复我~

代理实例去调用接口的方法时,并不会去执行这个方法,而是会触发TimeHandler.invoke(),这样没有实现类的接口方法也能执行了

0 回复 有任何疑惑可以回复我~

m.move()相当于move.invoke(m)

0 回复 有任何疑惑可以回复我~

第一个问题你应该重新理解下动态代理的定义和反射机制,第二问题是此时的m是动态代理产生的代理实例,而不是new moveable()产生的实例对象,所以当m.move()时相当于proxy.invoke()。

0 回复 有任何疑惑可以回复我~

题主现在解决了这个问题吗?特别是第二个问题。求解啊。

0 回复 有任何疑惑可以回复我~

这个问题  我也疑惑  不知道你解决了么


0 回复 有任何疑惑可以回复我~

看下反射机制吧!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

是不是调用代理类实例的方法的时候,都会自动调用invoke????

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号