java之物件陣列
阿新 • • 發佈:2019-01-04
好長時間沒有看Java,簡直忘得一乾二淨。。。。。。好吧,言歸正傳,這次犯得錯是物件陣列元素的逐個例項化。原本以為在建立完物件陣列後就完事了,元素也會自動建立,結果遍歷陣列後顯示為null,並報空指標異常。
例項程式碼:
class student{
private string name;
public student(string name){this.name=name;}
public string getname(){return this.name;}}
public class test {
public static void main(string args[]){
student array[];
array=new student[3];
/*student[]array=newstudent[3];*/
array[0]=new student(”lilei”);
array[1]=new student(”cili”);
array[2]=new student(”wuxi”);
system.out.println(”物件陣列元素:”);
for(int i=0;i<array.length;i++){
system.out.println(array[i] );
}
}
上述程式的執行結果:null、null、null;由此得知,自定義物件陣列,需要對陣列中的每個物件元素獨立進行建立,然後才可以對其賦值、引用等操作,如果沒有單獨對每個物件元素建立,會導致空指標異常。
即應加上:
array[0]=new student(”lilei”);
array[1]=new student(”cili”);
array[2]=new student(”wuxi”);