黑马程序员技术交流社区

标题: 大侠来帮帮忙 [打印本页]

作者: @ne_pie尒ce    时间: 2013-11-8 11:42
标题: 大侠来帮帮忙
        public static void main(String[] args) {
                //创建动态类,并实例其对象
                Collection proxy2=(Collection) Proxy.newProxyInstance(Collection.class.getClassLoader(),
                                new Class[]{Collection.class},
                                new InvocationHandler() {
                                        @Override
                                        public Object invoke(Object proxy, Method method, Object[] args)
                                                        throws Throwable {
                                                return null;
                                        }
                                });
                proxy2.add("zxx");
                proxy2.add("lhm");
                proxy2.add("bxd");
                System.out.println(proxy2.size());
        }
运行结果:
Exception in thread "main" java.lang.NullPointerException        at com.sun.proxy.$Proxy0.add(Unknown Source)        at cn.itcast.day03.ProxyTest.main(ProxyTest.java:31)请问是哪里出了错误?


作者: 黄炳期    时间: 2013-11-8 12:16
发帖时注意分类,你一发帖就是“提问结束”。别人都不用回答你了
作者: ciowok    时间: 2013-11-8 12:24
31行,空指针异常,某个调用方法的对象是空值
作者: (0.0)’    时间: 2013-11-8 13:57
小哥,你在invoke方法中返回的是null值,所以Collection的值就是null 你用null来调用size()方法,你说会报什么提升???
  1. public Object invoke(Object proxy,Method method, Object[] args)throws Throwable{
  2.                                 return null;        //这里返回值为null??这里应该返回一个Collection子类对象
  3.                         }
复制代码

作者: 花生壳    时间: 2013-11-8 14:18
报错是空指针异常,传的值有为空的。




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