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
            }
        }
    复制代码
     
  • 相关阅读:
    android的布局xml文件如何添加注释?
    安卓xml布局中 android:paddingBottom="@dimen/activity_vertical_margin"是什么意思?
    Failure [INSTALL_FAILED_OLDER_SDK]
    安装并使用PICT,生成测试用例
    安装并使用Junit
    SourceMonitor的安装
    FindBugs
    pdm的说明
    Checkstyle的安装与使用
    白话决策树
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/4298126.html
Copyright © 2011-2022 走看看