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();
        }
    }
  • 相关阅读:
    Codeforces 166E. Tetrahedron
    Codeforce 687A. NP-Hard Problem
    Codeforces 570C. Replacement
    Codeforces 554B. Ohana Cleans Up
    Codeforces 482A. Diverse Permutation
    Codeforces 431C. k-Tree
    Codeforces 750B. Spider Man
    Codeforces 463A. Caisa and Sugar
    Codeforces 701B. Cells Not Under Attack
    Codeforces 445A. DZY Loves Chessboard
  • 原文地址:https://www.cnblogs.com/aoligei/p/12411371.html
Copyright © 2011-2022 走看看