2017-05-03 67 views
-4

雖然我在eclipse執行以下碼:我正在一個異常爲「異常在線程‘主要’在ObjectArray.main(ObjectArray.java:24)顯示java.lang.NullPointerException」,而我編碼

class Account 
{ 
    int a, b; 
    public void setData(int c, int d) 
    { 
    a=c; 
    b=d; 
    } 

    public void showData() 
    { 
    System.out.println("Value of a: "+a); 
    System.out.println("Value of b: "+b); 
    } 
} 

public class ObjectArray 
{ 
    public static void main(String args[]) 
    { 
    Account obj[] = new Account[2]; 
    //obj[0]=new Account(); 
    //obj[1]=new Account(); 
    obj[0].setData(1, 2); 
    obj[1].setData(3, 4); 
    System.out.println("For Array Element 0:"); 
    obj[0].showData(); 
    System.out.println("For Array Element 1:"); 
    obj[1].showData(); 
    } 
} 

我得到了以下異常:在線程

異常 「主」 顯示java.lang.NullPointerException 在ObjectArray.main(ObjectArray.java:24)

請給我建議,爲什麼這Ë發生了什麼?

+4

因爲您做了註釋掉了會阻止'NPE'的初始化? – SomeJavaGuy

回答

0
Account obj[] = new Account[2]; 

它會爲班級'Account'的2個對象分配內存。對於初始化這些內存位置,您必須選擇以下任一種方式:

Account obj[] = {new Account(), new Account()}; 
obj[0]=new Account(); 
obj[1]=new Account(); 
相關問題