枚举中的命令行为

来源:互联网 发布:帝国cms 数据备份目录 编辑:程序博客网 时间:2024/05/17 09:16

有一个水果枚举类型,现在想当枚举到不同水果的时候,就命令吃掉这个水果。

//水果枚举类
public enum Fruits{
APPLE,BANANA,PEACH,GRAPE
}

//命令接口
public interface CommandPattern {
public void action();
}

//执行类
public class EnumMaps {
public static void main(String[] args){
   EnumMap<Fruits,CommandPattern> emp = new EnumMap<Fruits,CommandPattern>(
     Fruits.class);
   emp.put(Fruits.APPLE, new CommandPattern(){

    public void action() {
     System.out.println("Eat apple!");
    }
   
   });
  
   emp.put(Fruits.PEACH, new CommandPattern(){

    public void action() {
     System.out.println("Eat peach!!");
    }
   
   });
   //命令吃苹果
   for(Map.Entry<Fruits,CommandPattern> entry : emp.entrySet()){
    System.out.print(entry.getKey()+" ");
    entry.getValue().action();
   }
}
}

原创粉丝点击