黑马程序员技术交流社区
标题:
关于动态代理的一个小问题
[打印本页]
作者:
武嘉豪
时间:
2013-9-19 10:46
标题:
关于动态代理的一个小问题
本帖最后由 武嘉豪 于 2013-9-19 12:26 编辑
package PhoxyDemo;
import java.lang.reflect.*;
import java.util.*;
public class ProxyDemo
{
public static void main(String[]args)
{
ArrayList al=new ArrayList();
//List haha=(List) Proxy.newProxyInstance(ArrayList.class.getClassLoader(), ArrayList.class.getInterfaces(), new handler(al));
//被注释掉的可以运行,下面的这句就会报错
ArrayList haha=(ArrayList) Proxy.newProxyInstance(ArrayList.class.getClassLoader(), ArrayList.class.getInterfaces(), new handler(al));
haha.add("哈哈哈");
System.out.println(al);
}
}
class handler implements InvocationHandler
{
private ArrayList haha;
handler(Object obj)
{
this.haha=(ArrayList)obj;
}
public Object invoke(Object arg0, Method arg1, Object[] arg2)throws Throwable
{
arg1.invoke(haha, arg2[0]);
return true;
}
}
复制代码
作者:
武嘉豪
时间:
2013-9-19 12:25
解决咯~
动态代理返回的是接口的实现
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2