zoukankan      html  css  js  c++  java
  • 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);
        }
      } 
    }

    2.暂无问题

    3.学习web

  • 相关阅读:
    C++经典书籍:游戏编程
    云计算学习笔记Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
    A win for the Nokia N8 is a win for Qt
    Qt 为中国移动音乐客户端提供多平台支持
    诺基亚力邀App开发员加入Ovi以对抗苹果
    MeeGo手机或将跳票至2011年
    TinyXML:一个优秀的C++ XML解析器
    企业开发中Qt和.Net小谈
    Qt 的昨天,今天,明天
    学机械的看看吧,一般看不见的机械原理——全动画图解
  • 原文地址:https://www.cnblogs.com/20193898liufa/p/14162969.html
Copyright © 2011-2022 走看看