(1)定义一个游戏中的英雄的类Hero, 在该类中定义三个属性:String)名字,(int) 生命值和(int) 等级,通过构造函数传递参数对三个属性进行初始化;定义. 个格斗方法fight(Heroh),传入参数为Hero类型,实现将该英雄h的生命值-10。 (2)定义“个超级英雄类Superhero, 继承自Hero, 定义属性(int)绝招,通过构造函数传递参数实现初始化,重写格斗方法,实现将该英雄的生命值-20:重载格斗方法,增加传入参数绝招,实现将该英雄的生命值-20*绝招。 (3)在main 方法中分别创建. 个Hero FISuperhero对象并初始化,并通过Hero和ISuperhero的对象分别调用格斗方法,最后, 分别输出两个对象的生命值。
package gz.ht.edu;
public class Hero{
private String name;
private int level;
private int life;
public Hero(String name, int level, int life) {
this.name = name;
this.level = level;
this.life = life;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public int getLife() {
return life;
}
public void setLife(int life) {
this.life = life;
}
public void fight(Hero hero){
hero.setLife(hero.getLife()-10);
}
}
代码如上,万望采纳
我给你写,待会可以发给你。
package gz.ht.edu;
public class SuperHero extends Hero{
private int kill;
public SuperHero(String name, int level, int life,int kill) {
super(name, level, life);
this.kill=kill;
}
//重写
@Override
public void fight(Hero hero) {
hero.setLife(hero.getLife()-20);
}
//重载
public void fight(Hero hero,int kill) {
hero.setLife(hero.getLife()-20*kill);
}
public int getKill() {
return kill;
}
public void setKill(int kill) {
this.kill = kill;
}
public static void main(String[] args) {
Hero hero=new Hero("张三",1, 100);
hero.fight(hero);
System.out.println(hero.getName()+"的生命值:"+hero.getLife());
SuperHero shero=new SuperHero("李四", 1, 100, 10);
shero.fight(shero);
shero.fight(shero, shero.getKill());
System.out.println(shero.getName()+"的生命值:"+shero.getLife());
}
}
这个是超级英雄类
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632