2014-03-31 92 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); 
相关问题