2015-11-04 44 views
0

爲什麼代碼不會打印出我更改的變量數拋出創建數組對象?Java:數組異常線程

public class EchoTestDrive { 
public static void main(String args[]) { 
    Echo[] pets; 
    pets = new Echo[7]; 
    pets[0] = new Echo(); 
    pets[0].count = 43; 
    pets[1].count = 50; 
    **System.out.println(pets[0].count);**//doesn't prints out 
    **System.out.println(pets[1].count);**//doesn't prints out 
    //prints out: Exception in thread "main" java.lang.NullPointerException 
    // at EchoTestDrive.main(EchoTestDrive.java:8) 
} 
} 

另一類

public class Echo { 
int count = 0; 
void hello(){ 
    System.out.println("helloooo... "); 
    } 
} 
+7

'寵物[1]''是null',你沒有任何分配給數組元素 – MadProgrammer

+0

感謝@MadProgrammer –

回答

0
pets[1].count = 50; 

這將提高java.lang.NullPointerException作爲pets[1]引用null

System.out.println(pets[0].count); 

如果您註釋掉前行,那麼這肯定會打印43

System.out.println(pets[1].count); 

如果註釋掉pets[1].count = 50;線,那麼這將提高同java.lang.NullPointerException作爲pets[1]引用null

總之你忘了初始化pets[1]這應該是 -

pets[1] = new Echo(); 
相關問題