我是初学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);
}*/
}}
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);
}*/
}}
ta[i] = new TestArray();
TestArray[] ta中每一个对象都是TestArray类型。所以你要将已经实例化好的TestArray对象赋值给ta[i]才可以。初学java时经常会出现你这样的情况,忘记实例化对象就会出现空指针异常
ta[i].setId(i+5);
ta[i].setName("anne"+i);