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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孔肖 中级黑马   /  2012-9-27 09:53  /  1360 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对代理类的疑惑。。。疑惑用红色标出
通过代理来创建实例对象,和通常直接创建对象究竟有什么却别?
  Constructor constructor = clazzProxy.getConstructor(InvocationHandler.class);
  class MyInvocationHandler implements InvocationHandler
  {
         @Override
         public Object invoke(Object proxy, Method method, Object[] args)throws Throwable
        {
              return null;
        }   
  }
  
  Collection proxy1 = (Collection) constructor.newInstance(new MyInvocationHandler());
  
// 并且这里只能调用无返回值的方法,而不能调用有返回值的方法。这不是要比通常对象有了局限性吗?那么用代理对象有什么好处呢?
  proxy1.clear();
//  proxy1.size();

1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马