day11-接口作为成员变量类型(skill)
This commit is contained in:
@@ -28,5 +28,17 @@ public class Demo05 {
|
|||||||
hero.defend();
|
hero.defend();
|
||||||
System.out.println("打怪结束");
|
System.out.println("打怪结束");
|
||||||
hero.showWeapons();
|
hero.showWeapons();
|
||||||
|
//掉落了技能书(匿名内部类)
|
||||||
|
Skill skill = new Skill() {
|
||||||
|
@Override
|
||||||
|
public void outSkill() {
|
||||||
|
System.out.println("释放天火燎原");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//英雄获取技能
|
||||||
|
hero.setSkill(skill);
|
||||||
|
//释放技能
|
||||||
|
hero.useSkill();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ public class Hero {
|
|||||||
private Weapon weapon;//武器
|
private Weapon weapon;//武器
|
||||||
private Armor armor;//防御装
|
private Armor armor;//防御装
|
||||||
private ArrayList<Weapon> weapons = new ArrayList<>();//武器背包
|
private ArrayList<Weapon> weapons = new ArrayList<>();//武器背包
|
||||||
//技能
|
//技能作为属性
|
||||||
|
private Skill skill;
|
||||||
|
|
||||||
|
|
||||||
public Hero() {
|
public Hero() {
|
||||||
@@ -56,6 +57,14 @@ public class Hero {
|
|||||||
this.weapons = weapons;
|
this.weapons = weapons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Skill getSkill() {
|
||||||
|
return skill;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSkill(Skill skill) {
|
||||||
|
this.skill = skill;
|
||||||
|
}
|
||||||
|
|
||||||
//攻击和防御行为
|
//攻击和防御行为
|
||||||
public void attack(){
|
public void attack(){
|
||||||
//哪个英雄,使用什么武器,输出了多少伤害
|
//哪个英雄,使用什么武器,输出了多少伤害
|
||||||
@@ -75,4 +84,10 @@ public class Hero {
|
|||||||
System.out.println(w.getName()+", ");
|
System.out.println(w.getName()+", ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//英雄释放技能
|
||||||
|
public void useSkill(){
|
||||||
|
System.out.println(this.name += "释放技能:");
|
||||||
|
this.skill.outSkill();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package com.inmind.class_interface04;
|
||||||
|
//技能接口
|
||||||
|
public interface Skill {
|
||||||
|
void outSkill();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user