java类的抽象类 子类重写方法输出结果?

模仿植物大战僵尸中,定义一个植物抽象类,它有名称,血量属性,和攻击抽象方法。再定义一个豌豆荚类继承植物类,重写攻击方法输出“某某植物可以远程攻击”。另定义一个土豆类继承植物类,重写攻击方法输出“某某植物可以近身肉搏”。定义一个测试类,测试这两个子类的攻击方法的输出结果。

1.抽象类
public abstract class IBotany {

private int bloodVolume=100;

private String botanyName="默认植物";

public abstract void attack();

public int getBloodVolume() {
return bloodVolume;
}

public void setBloodVolume(int bloodVolume) {
this.bloodVolume = bloodVolume;
}

public String getBotanyName() {
return botanyName;
}

public void setBotanyName(String botanyName) {
this.botanyName = botanyName;
}

}
2.豆荚类
public class PeaPods extends IBotany{

public PeaPods(){
super();
}

public PeaPods(int bloodVolume,String botanyName){
setBloodVolume(bloodVolume);
setBotanyName(botanyName);
}

public void attack() {
System.out.println(getBotanyName()+"植物可以远程攻击!剩余血量:"+getBloodVolume());
}

}
3.土豆类
public class Potato extends IBotany{
public Potato(){
super();
}

public Potato(int bloodVolume,String botanyName){
setBloodVolume(bloodVolume);
setBotanyName(botanyName);
}

public void attack() {
System.out.println(getBotanyName()+"植物可以近身肉搏!剩余血量:"+getBloodVolume());

}
}
4.测试类
public static void main(String[] args) {
PeaPods peaPods = new PeaPods(50, "豌豆荚");
Potato potato = new Potato(500, "土豆");
peaPods.attack();
potato.attack();

}

输入结果:
豌豆荚植物可以远程攻击!剩余血量:50
土豆植物可以近身肉搏!剩余血量:500
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答