我正在编写一个有趣的作业,为我所参加的课程及其所有关于多态性和编码对象等...基本上,我们被要求编写一个"生物"对抗其他学生生物的对象。
如何在我的生物对象上调用某个方法时(丢失(),当我的生物失去战斗时),然后它再次调用自己的构造函数,这样它就会重生#"重生&# 34;
这是我的代码。
import java.awt.*;
import java.util.*;
public class Husky extends Critter {
//fields
private int x = getWidth();
private int y = getHeight();
private Random r = new Random();
private Direction[] directions = {Direction.NORTH, Direction.SOUTH, Direction.EAST, Direction.WEST};
public Husky() {}
public boolean eat() {
return true;
}
public Attack fight(String opponent) {
if (opponent.equals("%")) {
return Attack.ROAR;
} else if (opponent.equals("^") || opponent.equals(">") || opponent.equals("V")
|| opponent.equals("<") || opponent.equals("0")) {
return Attack.SCRATCH;
} else {
return Attack.ROAR;
}
}
public Direction getMove() {
int z = r.nextInt(4);
return directions[z];
}
public Color getColor() {
return Color.CYAN;
}
public String toString() {
return "∏";
}
public void lose() {
this();
}
}
我希望我的小动物基本上是不朽的。有可能吗?
答案 0 :(得分:0)
你可能会失去创造一个新的赫斯基
public void lose() { new Husky(); }
或返回一个:
public Critter lose() { return new Husky(); }