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
            }
        }
    复制代码
     
  • 相关阅读:
    构建之法读书笔记04
    团队冲刺06
    12.23——周总
    团队冲刺05
    团队冲刺04
    用户场景分析
    团队冲刺03
    返回一个二维数组中最大联通子数组的和
    团队冲刺02
    FFT/NTT基础题总结
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/4298126.html
Copyright © 2011-2022 走看看