用java编写以下程序

1.定义Hero类及其属性姓名、攻击力、防御力、生命值。2.定义技能接口Skill,该接口中的四个方法分别为“被动技能”、“1技能”、“2技能”、“3技能”。3.声明法师... 1.定义Hero类及其属性姓名、攻击力、防御力、生命值。

2.定义技能接口Skill,该接口中的四个方法分别为“被动技能”、“1技能”、“2技能”、“3技能”。

3.声明法师类Master和战士类Warrior,这两个类都继承Hero类并实现Skill接口。

4.声明一个用来测试英雄施放技能的类叫做TestHero,该类中有一个方法test,可以传入不同的英雄并调用英雄的技能,在该方法中还需要对传入的英雄进行测试,如果该英雄的攻击力为0的话,那么抛出一个自定义的异常,并显示“攻击力不能不0”。

要求:

按要求声明一个带有main方法的类来测试以上内容。
展开
 我来答
匿名用户
2017-08-02
展开全部
package test;

public class Hero {

private String name;
private int attack;
private int defense;
private int hp;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAttack() {
return attack;
}
public void setAttack(int attack) {
this.attack = attack;
}
public int getDefense() {
return defense;
}
public void setDefense(int defense) {
this.defense = defense;
}
public int getHp() {
return hp;
}
public void setHp(int hp) {
this.hp = hp;
}

}
/**********************************************************************/
package test;

public interface Skill {

public void passiveSkill(Hero h);

public void skill1(Hero h);

public void skill2(Hero h);

public void skill3(Hero h);
}
/**********************************************************************/
package test;

public class Master implements Skill {

@Override
public void passiveSkill(Hero h) {
System.out.println("passiveSkill----------");
}

@Override
public void skill1(Hero h) {
System.out.println("skill1----------");
}

@Override
public void skill2(Hero h) {
System.out.println("skill2----------");
}

@Override
public void skill3(Hero h) {
System.out.println("skill3----------");
}


}
/**********************************************************************/
package test;

public class MyException extends Exception {
private static final long serialVersionUID = 1L;

public MyException(){
super();
}

public MyException(String msg){
super(msg);
}
}
/**********************************************************************/
package test;

public class TestHero {

public static void test(Hero h) throws MyException{
if(null==h){
return;
}
if(h.getAttack()<=0){
throw new MyException("攻击力不能为0");
}
Master mt = new Master();
mt.passiveSkill(h);
mt.skill1(h);
mt.skill2(h);
mt.skill3(h);
}

public static void main(String[] args) {
Hero h = new Hero();
h.setName("he");
try {
test(h);
} catch (MyException e) {
e.printStackTrace();
}
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式