我正在尝试使用继承,以便我可以正确执行测试类中包含的代码。我不确定如何实现具有 goPee() 方法的名为浴室的抽象类或接口。你知道如何编码吗?
如果我添加一个抽象类或一个接口并分别通过扩展或实现将它们添加到 Human 类中,我总是被要求在 Human 类中为 goPee() 方法编写实现,我不想这样做,因为我的 goPee() 方法实现是在 Male 和 Female 子类中编写的。
import java.util.ArrayList;
class Human
{
private String name;
public Human (String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void eat()
{
System.out.println(name + " went to fridge.");
}
}
class Male extends Human
{
public Male(String name)
{
super(name);
}
public void goPee()
{
System.out.println(getName() + " stood up.");
}
}
class Female extends Human
{
public Female(String name)
{
super(name);
}
public void goPee()
{
System.out.println(getName() + " sat down.");
}
}
public class TestHuman
{
public static void main(String[] args)
{
ArrayList<Human> arr = new ArrayList<Human>();
arr.add(new Male("john"));
arr.add(new Female("sally"));
for (int count = 0; count < arr.size(); count++)
{
arr.get(count).eat();
arr.get(count).goPee();
}
}
}