2014-03-31 93 views
0

訪問方法,我只是停留在錯誤「異常線程‘main’顯示java.lang.NullPointerException」 請告訴我,我犯的錯誤,與解決方案。它是一個簡單的數組。我如何從這個數組訪問setAge(int)方法。顯示java.lang.NullPointerException錯誤而來自陣列

Person arr[] = new Person[2]; 

    arr[0].setAge(20); 

謝謝。

+0

更多的代碼,請 –

+1

填寫您的陣列的第一.. –

回答

6

你正在創建有兩個空槽陣列。第一填充這些插槽:

arr[0] = new Person(); 
arr[1] = new Person(); 

或者一個大陣列使用一個循環:

for(int personIndex = 0; personIndex < arr.size; personIndex++) 
{ 
    arr[personIndex] = new Person(); 
} 
+2

+1「填入」 :) –

2

你永遠不初始化任何對象的數組你英寸

arr[0] = new Person(); 
0

新的Person [2]創建一個可以容納兩個人在ARR [0]和ARR [1](基本上等於null),但還沒有被初始化ARR對象陣列[0]到一個新的每個位置的人物對象。因此,當嘗試定位在ARR [0]您正試圖將年齡設定爲你拋出一個空指針異常空對象的對象設定值..

1

您還沒有初始化人的陣列。首先初始化數組對象這樣

Person arr[] = new Person [2]; 
arr[0]=new Person(); 
arr[1]=new Person(); 

的人現在設置年齡: -

arr[0].setAge(20); 
arr[1].setAge(25); 
相關問題