基础第一阶段day11——接口作为成员变量类型

接口作为成员变量类型——初始化该成员变量,赋给他该接口的一个实现类对象

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();
    }
}
上一篇:Dom4j解析xml


下一篇:PHP---反射--继续剖析