A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋发吧小白 高级黑马   /  2014-9-16 12:12  /  821 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:为Arraylist集合创建一个动态代理
  1. package interview;

  2. import java.lang.reflect.InvocationHandler;
  3. import java.lang.reflect.Method;
  4. import java.lang.reflect.Proxy;
  5. import java.util.ArrayList;
  6. import java.util.Collection;

  7. public class ProxyDemo01 {

  8.         /**
  9.          * @param args
  10.          */
  11.         public static void main(String[] args) {
  12.                 // TODO Auto-generated method stub
  13.                 Class clazzProy = Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);
  14.                 Collection proxy = (Collection)Proxy.newProxyInstance(
  15.                                 Collection.class.getClassLoader(),
  16.                                 new Class[] {Collection.class},
  17.                                 new InvocationHandler()
  18.                                 {
  19.                                         ArrayList target = new ArrayList();
  20.                                         public Object invoke(Object proxy, Method method, Object[] args)
  21.                                                         throws Throwable {
  22.                                                 Object retVal = method.invoke(target, args);
  23.                                                 return retVal;
  24.                                         }
  25.                                        
  26.                                 }
  27.                                 );
  28.                 proxy.add("nihi");
  29.                 proxy.add("sajd");
  30.                 proxy.add("sad");
  31.                 System.out.println(proxy);
  32.         }

  33. }
复制代码



评分

参与人数 1黑马币 +5 收起 理由
格子、 + 5 淡定

查看全部评分

1 个回复

倒序浏览
刚看完动态代理,在复习一遍
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马