黑马程序员技术交流社区

标题: 代理类 [打印本页]

作者: wuhyoung    时间: 2014-5-23 16:35
标题: 代理类
我今天写了一个代理类方法,但是运行会报错,在获取代理类方法的实例化对象的时候传递的参数不是接口类型,请大家帮忙一下说是为什么啊。

public Object getProxy() {

                Object obj = Proxy.newProxyInstance(

                target.getClass().getSuperclass().getClassLoader(),

                new Class[] { target.getClass().getSuperclass() },

                new InvocationHandler() {
                        @Override
                        public Object invoke(Object proxy, Method method, Object[] args)
                                        throws Throwable {
                                Object retVal = method.invoke(target, args);
                                return retVal;
                        }
                });

                return obj;
        }


其中target.getClass().getSuperclass().getClassLoader(),是父类的加载器。而new Class[] { target.getClass().getSuperclass() }也是Class[]数组,哪里有问题啊!!!!!

作者: skill20    时间: 2014-5-23 16:38
本帖最后由 skill20 于 2014-5-23 16:43 编辑

target有定义吗?用代理的静态方法要传接口类型。
作者: wuhyoung    时间: 2014-5-23 16:47
skill20 发表于 2014-5-23 16:38
target有定义吗?用代理的静态方法要传接口类型。

target我传递的是一个new ArrayList()




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2