每次当我创建一个类和其他类(将是一个数组,我将在其中存储第一个类对象并调用一个方法)时,我都会收到一个 nullPointerEception..
例如:
public class person {
private String name,int age;
public Class()//constructor
public void print() {
System.out.println(name);
System.out.println(name);
//.........others methods
}
}
public class personList {
person[] pl = new person[10];
int i=0;
public void add(person p) {
pl[i]=p;
i++
}
public void print() {
for(int j=0;j<pl.length;j++)
{
pl[j].print();
}
}
}
错误在这里:pl[j].print();
对象 p[j]
不为 null ,因为我在 Main file(p=new person("Maxim",17),pl.add(p)) 中启动.
即使我像这样从 Main 初始化 p[0]=.....,p[1]=...
我也会收到相同的错误。
我做错了什么?
最佳答案
错误在这一行:
person[] pl = new person[10];
您需要初始化数组中的每个 Person 对象。
for(int i = 0; i < pl.length; i++)
{
pl[i] = new Person();
}
您的 Person 构造函数也是错误的。应该是
public Person(){...}
不是
public Class(){...}
关于java - 数组类的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381789/