zoukankan      html  css  js  c++  java
  • 枚举

    // Java
    enum MyColor{
      RED("Hot", 4), BLUE("SAD",8);
      
      private String mood;
      public String getMood{
        return mood;
      }
      private int index;
      public int getIndex(){
        return index;
      }
      private MyColor(String mood, int index){
        this.mood = mood;
        this.index = index;
      }
    }
    System.out.println(MyColor.RED.getMood());

      小结:

         1. 定义枚举类型本质上就是在定义带final修饰符的Enum<E>的子类;

         2. 枚举值本质为第1点所定义的类的类常量;

         3. 枚举值的ordinal值由其定义时的排序决定,并且在编译时已经被设置好了。

    public enum MyColor{
    RED, BLUE(){
    @Override
    public boolean getFlag(){
    return false;
    }
    };
    public boolean getFlag(){
    return true;
    }
    }
    // 调用
    System.out.println(MyColor.RED.getFlag()); // 显示true
    System.out.println(MyColor.BLUE.getFlag()); // 显示false

    可以看到枚举值RED和BLUE同一个方法具有不同的行为。其实这是通过匿名内部类的方式实现的,BLUE的类型为MyColor$1 extends MyColor,而RED的类型为MyColor。

    使用接口组织枚举                          

    复制代码
    public interface Food {
            enum Coffee implements Food {
                BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
            }
    
            enum Dessert implements Food {
                FRUIT, CAKE, GELATO
            }
        }
    复制代码
     
  • 相关阅读:
    二分
    枚举
    dp
    bfs
    bfs
    dfs
    ipython快捷键
    虚拟机串口连接嵌入式开发板
    rtmp向IR601移植过程(无功能步骤,只有移植步骤)
    静态库和动态库
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/4298126.html
Copyright © 2011-2022 走看看