接口作为成员变量类型——初始化该成员变量,赋给他该接口的一个实现类对象
public interface Skill {
void attack();
}
这是一个Hero类,里面有接口 类型的成员变量
public class Hero {
String name;
Skill skill;
public Hero(String name) {
this.name = name;
}
public Hero() {
}
public Skill getSkill() {
return skill;
}
public void setSkill(Skill skill) {
this.skill = skill;
}
public void attack() {
System.out.println("法术攻击开始");
skill.attack();
System.out.println("法术攻击结束");
}
}
接口 类型的成员变量,创建对象如何使用呢
因为你的成员变量是个接口 类型,因此需要初始化赋值——new个接口实现类对象
然后用对象名.setXXX方法设置初始化对象进去
public class Test {
public static void main(String[] args) {
Hero hero=new Hero("盖伦");
Skill skill=new Skill() {
@Override
public void attack() {
System.out.println("震雷削!");
}
};
hero.setSkill(skill);
hero.attack();
}
}