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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨兴庭 于 2013-7-29 11:04 编辑
  1. /**

  2.          * 练习使用代理,添加功能

  3.          * @param args

  4.          */

  5.         public static void main(String[] args) {

  6.                 // TODO Auto-generated method stub

  7.                 HashSet has =(HashSet)Proxy.newProxyInstance(

  8.                                 //这一步是告诉proxy用哪个类加载器加载这个类

  9.                                 HashSet.class.getClassLoader(),
  10.                                 //这一步是为了告诉动态生成类的proxy,要生成什么样的类

  11.                                 new Class[]{HashSet.class},
  12.                                 //这个参数是代理的关键参数,这个参数的作用是对要代理的方法进行操作

  13.                                 new InvocationHandler() {

  14.                                         HashSet set = new HashSet();

  15.                                         @Override

  16.                                         public Object invoke(Object proxy, Method method, Object[] args)

  17.                                                         throws Throwable {

  18.                                                 // TODO Auto-generated method stub

  19.                                         Object retVal = method.invoke(set, args);

  20.                                                 return retVal;

  21.                                         }

  22.                                 }

  23.                                 );

  24.                 //has.hashCode();

  25.                 has.add("hllo");

  26.                
  27.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

2 个回复

倒序浏览
代理的api说了,代理只是面向接口的。不过老师讲的时候不是说有个CGLIB库可以为没有接口的类代理吗 你可以试试
回复 使用道具 举报
请先写下你自己的分析!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马