看看下面代码class ClassA{
String a;
String b;
}class ClassB{ClassA ca[] = new ClassA[10];ClassB(){
ca[0].a = "abc";   //为什么不可以这样负值....
}
}

解决方案 »

  1.   

    ClassA ca[] = new ClassA[10];其中的数组元素还未初始化
      

  2.   

    我试过这样ca[0].a = new String("abc");为什么还是不可以付值啊?
      

  3.   

    ClassB(){
     for (int i=0;i<10;i++)
        ca[i]=new ClassA();
       
    ca[0].a = "abc";   //这样就可以了
    }
      

  4.   

    因为你还没有分配空间呢
    ClassA ca[] = new ClassA[10];这句话只是创建了一个数组,并未分配空间
    加上一句
    ca[0]=new ClassA();
    或象楼上的给所有的对象分配空间都行class ClassA{
    String a;
    String b;
    }class ClassB{ClassA ca[] = new ClassA[10];ClassB(){
    ca[0]=new ClassA();ca[0].a = "abc";   
    }
    }