为什么即使我将o.pet设置为一个值,它也是空的?

h22fl7wq  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(310)

我在一个救援中心做一个apcs项目,在那里人们可以领养动物等等。我遇到的问题是,在我的ui中,当我试图列出所选所有者的宠物时,出现了一个异常,表示它不能读取o.pet,因为它是null。我想知道为什么它是空的,即使我设置了a的所有者为 this 在所有者采用函数中,并在救援中心调用它采用函数? Owner classvoid adopt(Animal a) { pet = a; a.owner = this; }RescueCenter class: ```
public boolean adopt(String customerName, String animalName) {
Owner o = new Owner(customerName, age);
Animal d = new Dog(animalType, animalName, animalBreed, animalAge);
if (!o.isQualified() || !d.isQualified()) {
o.qualify();
d.qualify();
}
if (o.isQualified() && d.isQualified()) {
o.adopt(d);
d = o.pet;
adoptableAnimalList.remove(d);
return true;
}
return false;
}

public String getPet(String currCustomerName) {
Owner o = new Owner(currCustomerName, age);
return o.pet.name;
}

sbdsn5lh

sbdsn5lh1#

你创造了一个 new Owner 但从不打电话 adopt 在上面(因此,您还可以在中创建并丢弃对象 adopt )你可能要找的是 Map<String, Owner> 在那里你可以存储和检索 Owner 物体。

相关问题