代码中Hero继承Actor类,请完善代码,使其能够输出“health:100 damage:10 health:200 damage:20 name:Hero”
时间: 2024-12-06 10:20:52 浏览: 22
在Java中,如果你有一个`Actor`类作为基类,它可能包含一些基本属性如`health`和`damage`,然后有一个名为`Hero`的子类继承自`Actor`,你可以这样完成代码:
```java
// 假设Actor类的基本结构
class Actor {
protected int health;
protected int damage;
public Actor(int health, int damage) {
this.health = health;
this.damage = damage;
}
// 输出基础信息的方法
public void printInfo() {
System.out.println("health: " + health + " damage: " + damage);
}
}
// Hero子类继承自Actor,并添加特定于英雄的信息(例如name)
class Hero extends Actor {
private String name;
public Hero(int health, int damage, String name) {
super(health, damage); // 调用父类构造函数
this.name = name;
}
@Override
public void printInfo() { // 重写printInfo方法以包括名字
super.printInfo();
System.out.println("name: " + name);
}
public static void main(String[] args) {
Hero hero = new Hero(100, 10, "Hero");
hero.printInfo(); // 输出初始状态
// 比方说改变hero的状态后
hero.health += 100;
hero.damage *= 2;
hero.printInfo(); // 再次输出更新后的状态
}
}
```
在这个例子中,当你创建并调用`hero.printInfo()`时,会首先打印出英雄的基础健康值和伤害,然后再显示名字。
阅读全文