在 java 代码中创建数组对象时出错

error in create array object in java code

我有一张 class 的名片,它的代码如下

class card {
 private String word, mean;

 public card() {}

 public card(String w, String m) {
  this.word = w;
  this.mean = m;
 }

 // Getter and setter ...

}

然后如果我在主函数中编写以下代码

card[] c=new card[3];   
c[1].setword("Hello");

我得到了NullPointerException

我该如何解决?

您需要先初始化对象,然后设置如下值 -

c[1] = new card();

然后

c[1].setword("Hello");

希望这会有所帮助。

发生这种情况是因为您只是初始化了一个数组,但没有初始化数组的元素。如果将数组的元素打印到 System.out,您会看到它们全部为 null。您必须初始化数组的每个元素。

card[] c = new card[3];
c[1] = new card();
c[1].setword("Hello");
c[2] = new card();
...

这一行:

 card[] c=new card[3];

您刚刚创建了一个大小为 3 的数组对象来存储 card,但没有创建任何 card 对象。 所以要修复它,你必须创建 card 对象并存储在你的数组中。

card[] cards = new card[3];
for (int i = 0; i < 3; i++) {
   cards[i] = new card();
}
cards[1].setword("Hello");

顺便说一句,你应该用第一个字母大写来命名你的 class,这是 java 命名约定。