黑马程序员技术交流社区

标题: 有关动态代理的问题 [打印本页]

作者: 代文娟    时间: 2013-11-22 19:00
标题: 有关动态代理的问题
  1. Class classProxy=Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);
  2. Constructor constructor = classProxy.getConstructor(InvocationHandler.class);       
  3. Collection conllection=(Collection) constructor.newInstance(new InvocationHandler(){
  4.    ArrayList al=new ArrayList();
  5.         @Override
  6. public Object invoke(Object proxy, Method method, Object[] args)
  7.                 throws Throwable {
  8.                 Object value=method.invoke(al, args);
  9.                 return value;
  10.                         }       
  11.                 });
  12. conllection.add("aaaa");
  13. conllection.add("bbbb");
  14. conllection.add("cccc");
复制代码
在张孝祥老师讲的动态代理中为什么这句话conllection.add("aaaa");一执行就会调用 invoke(Object proxy, Method method, Object[] args)呢?怎么把conllection给proxy,把add给method,把“aaa”给args的呢?是怎么过去的呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2