Hero类
public class Hero {
private String name;
private Skill skill;//接口作为成员变量类型
public Hero() {
}
public Hero(String name, Skill skill) {
this.name = name;
this.skill = skill;
}
public void attack(){
System.out.println("我叫"+name);
skill.use();
System.out.println("技能释放完毕");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Skill getSkill() {
return skill;
}
public void setSkill(Skill skill) {
this.skill = skill;
}
}
skill接口
public interface Skill {
void use();
}
skillIpl实现类
public class SkillImpl implements Skill{
@Override
public void use() {
System.out.println("biu~biu~biu");
}
}
main方法
public static void main(String[] args) {
Hero hero = new Hero();
hero.setName("Sherlock");
SkillImpl skill = new SkillImpl();
hero.setSkill(skill);
hero.attack();
}
运行结果:
我叫Sherlock
biu~biu~biu
技能释放完毕