InvocationHandler的invoke()方法是怎么调用的?
1个回答
展开全部
看下源代码就知道了。
用了策略设计模式
public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
InvocationHandler h)
可以看见 形参里面 有invocationHandler 这个东西。
也就是说这个方法里面会调用 invocationHandler的 invoke方法。
用了策略设计模式
public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
InvocationHandler h)
可以看见 形参里面 有invocationHandler 这个东西。
也就是说这个方法里面会调用 invocationHandler的 invoke方法。
追问
newProxyInstance()不是创建了一个代理对象吗?创建这个对象的时候就调用完成了吗?
追答
不是,这个invoke 方法不是 返回了一个 Object的实例么。然会会强转成你需要的接口。这时候调用你这个接口的方法的时候, 实质上 就是运行了 这个invoke的方法。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询