黑马程序员技术交流社区
标题:
关于动态代理proxy
[打印本页]
作者:
冯敏
时间:
2011-11-26 13:19
标题:
关于动态代理proxy
本帖最后由 xiaoyu_min 于 2011-11-26 16:19 编辑
看张老师讲动态代理部分,怎样创建一个代理类,听的有点模糊,帮忙给讲解一下,最好有例子说明
作者:
侯伟浩
时间:
2011-11-26 13:23
来个简单点得方法:
public class MyProxy {
public static void main(String[] args) {
List proxy=(List)Proxy.newProxyInstance(
ArrayList.class.getClassLoader(),
new Class[]{List.class},
new InvocationHandler(){
ArrayList array=new ArrayList();
public Object invoke(Object proxy, Method method,
Object[] args) throws Throwable {
return method.invoke(array, args);
}
});
proxy.add("123");
System.out.println(proxy.get(0));
}
}
复制代码
用这种方式就可以得到ArrayList集合的代理类了,ArrayList集合的各种方法代理中也都有了。
个人理解:用代理的好处就是-可以在方法中加入你自己的代码。
作者:
郭学文
时间:
2011-11-26 13:59
利用多态来扩展复用代码
本着这个思想,写吧....
作者:
郭学文
时间:
2011-11-26 14:06
二楼的示范写得很好,
但实际使用应该不会像二楼的那样写吧,这样写就没扩展性了。还是会另起个代理类接收对象的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2