这个视频反反复复看了老大半天,有两点不懂???
调用Proxy.newProxyInstance 方法返回的值怎么就知道是Car的代理类实例???虽然定义的时候定义的是返回的是代理类实例。
invoke方法里边是代理过程具体执行的类,通过m.move怎样去触发invoke??根本就理解不了。
望大神帮忙在细讲讲,万分感谢
你好,请问一下触发到TimeHandler.invoke()的方法 invoke里面的参数 是怎么传过来的?谢谢
代理实例去调用接口的方法时,并不会去执行这个方法,而是会触发TimeHandler.invoke(),这样没有实现类的接口方法也能执行了
m.move()相当于move.invoke(m)
第一个问题你应该重新理解下动态代理的定义和反射机制,第二问题是此时的m是动态代理产生的代理实例,而不是new moveable()产生的实例对象,所以当m.move()时相当于proxy.invoke()。
题主现在解决了这个问题吗?特别是第二个问题。求解啊。
这个问题 我也疑惑 不知道你解决了么
看下反射机制吧!