Java 对象数组上的NullPointerException
我有一个bankaccount超类和从中扩展的两个子类,支票和储蓄。我想创建一个bankaccount数组,但每次我引用它时,它都会抛出一个NullPointerException。为什么要这样做?请帮我把这件事说清楚Java 对象数组上的NullPointerException,java,arrays,nullpointerexception,polymorphism,Java,Arrays,Nullpointerexception,Polymorphism,我有一个bankaccount超类和从中扩展的两个子类,支票和储蓄。我想创建一个bankaccount数组,但每次我引用它时,它都会抛出一个NullPointerException。为什么要这样做?请帮我把这件事说清楚 public void newAccount() throws IOException { BufferedReader br; br = new BufferedReader(new InputStreamReader(System.in)); Syst
public void newAccount() throws IOException {
BufferedReader br;
br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please create an account id:");
readid = br.readLine();
for (int i = 0; i < baArray.length; i++) {
baArray[i]=new Bankaccount();
if (baArray[1]==null) {
System.out.println("its null!");
}
}
}
public void newAccount()引发IOException{
缓冲剂;
br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“请创建帐户id:”);
readid=br.readLine();
对于(int i=0;i
您有NullPointException
,因为您每次输入for
cicle的,并试图访问null Bankaccount()的1
项时,都在初始化beArray
代码>
数组的第一个元素是0。
将中的1
更改为i
if (baArray[1]==null){
您将拥有一个充满null BankAccount()的数组代码>
顺便问一下,你在哪里初始化beArray 您在哪里初始化baArray
?当您检查if(baArray[1]==null)
时,for循环刚刚创建了baArray[0]
,因此baArray[1]
仍然为null。将复选框移到for循环的结束}
后面。