• java自学


    1

    Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。

    Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。

    例如定义一个颜色的枚举类。

    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 

    枚举类也可以声明在内部类中

    复制代码
    public class Test 
    { 
        enum Color 
        { 
            RED, GREEN, BLUE; 
        } 
      
        // 执行输出结果
        public static void main(String[] args) 
        { 
            Color c1 = Color.RED; 
            System.out.println(c1); 
        } 
    }
    复制代码

    每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。

    以上的枚举类 Color 转化在内部类实现:

    class Color
    {
         public static final Color RED = new Color();
         public static final Color BLUE = new Color();
         public static final Color GREEN = new Color();
    }

    可以使用 for 语句来迭代枚举元素

    复制代码
    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 
    public class MyClass { 
      public static void main(String[] args) { 
        for (Color myVar : Color.values()) {
          System.out.println(myVar);
        }
      } 
    }
    复制代码

    枚举类常应用于 switch 语句中:

    复制代码
    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 
    public class MyClass {
      public static void main(String[] args) {
        Color myVar = Color.BLUE;
    
        switch(myVar) {
          case RED:
            System.out.println("红色");
            break;
          case GREEN:
             System.out.println("绿色");
            break;
          case BLUE:
            System.out.println("蓝色");
            break;
        }
      }
    }
    复制代码

    枚举跟普通类一样可以用自己的变量、方法和构造函数,构造函数只能使用 private 访问修饰符,所以外部无法调用。

    枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它

    复制代码
    enum Color 
    { 
        RED, GREEN, BLUE; 
      
        // 构造函数
        private Color() 
        { 
            System.out.println("Constructor called for : " + this.toString()); 
        } 
      
        public void colorInfo() 
        { 
            System.out.println("Universal Color"); 
        } 
    } 
      
    public class Test 
    {     
        // 输出
        public static void main(String[] args) 
        { 
            Color c1 = Color.RED; 
            System.out.println(c1); 
            c1.colorInfo(); 
        } 
    } 
    复制代码

    enum Color 

        RED, GREEN, BLUE; 

    public class MyClass { 
      public static void main(String[] args) { 
        for (Color myVar : Color.values()) {
          System.out.println(myVar);
        }
      } 
    }

  • 相关阅读:
    Java Map遍历方式的选择
    UriMatcher类的addURI()方法
    Java IO流分析整理[转]
    java基础一些注意细节
    java中static变量和方存在内存什么区域
    详细解析Java中抽象类和接口的区别
    mybatis一些记录
    Go语言简介(上)— 语法
    JavaScript相关-深入面向对象
    33个组件5
  • 原文地址:https://www.cnblogs.com/20193898liufa/p/14161768.html
Copyright © 2020-2023  润新知