我只是从一本看起来很棒的书中学习 Java,但是我在遵循其中一个示例时遇到了问题。在接下来的代码中,我显然遗漏了使用简单类的成员变量的步骤。我做错了什么?
代码如下:
class Dog {
String name;
String color;
}
class DogsExample {
public static void main(String[] args) {
Dog [] myDogs = new Dog[3];
myDogs[0].name = "Rover";
}
}
当我运行这个程序时,它导致了一个空指针异常,我给 name 成员变量赋值:
$ java DogsExample
Exception in thread "main" java.lang.NullPointerException
at DogsExample.main(DogsExample.java:11)
为什么我不能这样做?
最佳答案
这是一个空数组,三个元素长。就像三个狗窝连成一排,里面没有狗。在给狗
一个名字之前,你必须在每个狗窝里放一只Dog
:
myDogs[0] = new Dog();
myDogs[0].name = "Rover";
对 myDogs[1]
和 myDogs[2]
重复。
关于Java类成员构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763353/