【发布时间】:2016-07-04 18:34:16
【问题描述】:
所以在我的代码中,我创建了一个名为 Pet 的类,它既有一个默认构造函数,也有一个传入字符串名称和宠物年龄的非默认构造函数。
public class Pet
{
// instance variables
private int age;
private String name;
/**
* Constructor for objects of class Pet
*/
public Pet()
{
// initialise instance variables
age = 0;
name = "somePet";
}
public Pet(int age, String name)
{
this.age = age;
this.name = name;
}
}
然后我创建了一个名为 petArray 的类,它将添加到数组中并打印出数组...
public class PetArray
{
// instance variables
private Pet [] petArray;
/**
* Constructor for objects of class PetArray
*/
public PetArray()
{
// initialise instance variables
petArray = new Pet[5];
}
public void addPets()
{
// put your code here
Pet myPet = new Pet(4, "Spots");
petArray[0] = (myPet);
petArray[1] = new Pet(2, "Lucky");
petArray[2] = new Pet(7, "Joe");
}
public void printPets()
{
for (int i = 0; i < petArray.length; i++)
{
System.out.println(petArray[i]);
}
}
}
但是,当我试图打印出来时,我在终端窗口中得到了这个......
宠物@13255e3c 宠物@171ac880 宠物@52185407 空值 空
【问题讨论】:
-
这不是错误。你需要在你的课堂上覆盖
toString()。 -
阅读
toString方法的作用。你需要在Pet类中写一个。 -
@TheLostMind 抱歉,我不是说错误的意思。我的问题发生了变化。