zoukankan      html  css  js  c++  java
  • 接口作为成员变量类型

    package Yasuo;
    
    public class Gay {
        private String name;
        private Skill skill;
    
        public Gay() {
        }
    
        public Gay(String name, Skill skill) {
            this.name = name;
            this.skill = skill;
        }
    
        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;
        }
    
        public void attack() {
            System.out.println(getName() + "使用技能: ");
            skill.use();
            System.out.println("技能使用完毕");
        }
    }
    package Yasuo;
    
    public interface Skill {
        void use();
    }
    package Yasuo;
    
    public class SkillImpl implements Skill {
    
        @Override
        public void use() {
            System.out.println("斩钢闪");
        }
    }
    package Yasuo;
    
    public class demo2main {
        public static void main(String[] args) {
            Gay gay = new Gay();
            gay.setName("亚索");
            Skill skill = new SkillImpl();  //或者直接 gay.setSkill(new SkillImpl);
            gay.setSkill(skill);
            gay.attack();
    
            System.out.println("=============");
    
            Skill skill2 = new Skill() {
                @Override
                public void use() {
                    System.out.println("狂风绝息斩");
                }
            };
            gay.setSkill(skill2);
            gay.attack();
    
            System.out.println("============");
    
            gay.setSkill(new Skill() {
                @Override
                public void use() {
                    System.out.println("踏前斩");
                }
            });
            gay.attack();
        }
    }
  • 相关阅读:
    puppet之模板和类
    puppet之资源
    puppet自动化安装服务
    puppet自动化搭建lnmp架构
    puppet工简介一
    CDN杂谈
    cdn工作原理
    mysql之innodb存储引擎
    Android应用开发基础篇(11)-----ViewFlipper
    Android应用开发基础篇(10)-----Menu(菜单)
  • 原文地址:https://www.cnblogs.com/aoligei/p/12411371.html
Copyright © 2011-2022 走看看