2015-11-04 42 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(); 
相关问题