【发布时间】:2015-05-15 00:01:04
【问题描述】:
我在调用 Pets 类中的方法 makeNoise 时遇到问题。我通过另一个类 Humans 调用 makeNoise 方法,该类具有 makePetMakeNoise 方法:
public void makePetMakeNoise()
{
int randnum = (int)(Math.random() *5);
pet.makeNoise(randnum);
}
我在创建宠物时将它的 canMakeNoise 设置为布尔值:Cat a = new Cat("Critter", "Meow", true);
当我调用 Humans 的 makePetMakeNoise 方法时,我只得到如下打印输出:Critter 保持沉默 而不是:Meow Critter。为什么会这样,我该如何解决?谢谢。
public class Pets
{
String name;
String noise;
boolean canMakeNoise;
public Pets(String pname, String pnoise, boolean pcanmakenoise)
{
name = pname;
noise = pnoise;
pcanmakenoise = canMakeNoise;
}
public void makeNoise(int number)
{
if(canMakeNoise==true)
{
for(int i=0; i<number; i++)
{
System.out.println(noise + " " + name);
}
}
else if(canMakeNoise==false)
{
System.out.println(name + " *remains silent*");
}
}
public void eat()
{
System.out.println(name + " is eating...");
}
}
【问题讨论】:
标签: java oop object methods extends