Actor a[] = new Actor[5];//这个时间只是声明了a是一个Actor数组,还没有分配内存for(int i=0;i<5;i++)  //需要这样以后才分配了内存
a[i] = new Actor();a[0].fun();

解决方案 »

  1.   

    同意楼上的。nullPointerException就是说指针并没有被指定具体的对象。Actor a[]=new Actor[5];  可以理解成指针数组。
      

  2.   

    是不是要先定义
     Actor a[5];
    ///然后这样:for(int i=0;i<5;i++)  //需要这样以后才分配了内存
    a[i] = new Actor();a[0].fun();///
    可是1.4 版 好象不支持这样定义啊
    它要Actor a[];
    “[]”中不能用数字啊
      

  3.   

    new xxx[n]
    xxx是基本类型的话自动为0(0,0.0,false,'\0')
    xxx是对象的话自动为null,
    与字段相类似
    class A{
      int x; //0
      Object a;//null;
    }不可以XXX[n] x=....
      

  4.   

    搞定!
    谢谢: weimenren(▁▂▃▄▅▆▇█▉▊▋▌▍▎▏) 不过那2次用new ,是不是有点象重复分配啊,
    还有哪些情况要这样 写2次new 的?