我是初学JAVA,在网上搜索的视频中的老师说让自已写一个自定义的类型数组,我试着这样去写,但是运行时出错,不明白是为什么,我试过如果不是自定义类型数组,而只是一个类就没有问题。请知道的同志给我讲解一下,非常感谢package Anne.TestPackage;public class TestArray {
private int id;
private String name;
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public static void main(String[] args) {
TestArray[] ta = new TestArray[5];

for (int i=0;i<5;i++){
ta[i].setId(i+5);
ta[i].setName("anne"+i);
int id=ta[i].getId();
String name=ta[i].getName();
System.out.println("id:"+id+",name:"+name);
}

       /* TestArray ta = new TestArray();

for (int i=0;i<5;i++){
ta.setId(i+5);
ta.setName("anne"+i);
int id=ta.getId();
String name=ta.getName();
System.out.println("id:"+id+",name:"+name);
}*/

}}

解决方案 »

  1.   

    初学者常见问题,没有初始化数组元素。请在 for 循环开始位置,增加:
    ta[i] = new TestArray();
      

  2.   

    如一楼。
    TestArray[] ta中每一个对象都是TestArray类型。所以你要将已经实例化好的TestArray对象赋值给ta[i]才可以。初学java时经常会出现你这样的情况,忘记实例化对象就会出现空指针异常
      

  3.   

    ta[i]= new TestArray();
    ta[i].setId(i+5);
    ta[i].setName("anne"+i);