Java 枚举


        章节


        Java 枚举/Enum

        枚举是一种特殊的“类”,用于表示一组常量(不可更改的变量,类似final变量)。

        要创建枚举,使用enum关键字,并用逗号分隔常量。按惯例,枚举的常量名是大写的:

        示例

        enum Level {
          LOW,
          MEDIUM,
          HIGH
        }

        可以通过点(.)语法访问枚举常量:

        Level myVar = Level.MEDIUM;

        Enum是“enumerations”的缩写,意思是“特别列出的”。

        类中的枚举

        可以在一个类里面定义枚举:

        示例

        public class MyClass { 
          enum Level {
            LOW,
            MEDIUM,
            HIGH
          }
        
          public static void main(String[] args) { 
            Level myVar = Level.MEDIUM; 
            System.out.println(myVar); 
          } 
        }

        输出:

        MEDIUM

        Switch语句中的枚举常量

        switch语句中经常使用枚举常量,用于检查对应的值:

        示例

        enum Level {
          LOW,
          MEDIUM,
          HIGH
        }
        
        public class MyClass { 
          public static void main(String[] args) {
            Level myVar = Level.MEDIUM; 
        
            switch(myVar) {
              case LOW:
                System.out.println("低级");
                break;
              case MEDIUM:
                 System.out.println("中级");
                break;
              case HIGH:
                System.out.println("高级");
                break;
            }
          }
        }

        输出:

        中级

        遍历枚举

        枚举类型有一个values()方法,该方法返回一个数组,包含了所有枚举常量,可用于遍历枚举:

        示例

        for (Level myVar : Level.values()) {
          System.out.println(myVar);
        }

        输出:

        LOW
        MEDIUM
        HIGH

        枚举和类之间的区别

        枚举可以像类一样具有属性和方法。区别是,enum常量是publicstaticfinal的(不可更改,不能重写)。

        枚举不能创建对象,不能继承其他类,但可以实现接口。

        为什么以及何时使用枚举?

        当有一些不变的值时应使用枚举,例如:月份名称、星期几、颜色等等。

        相关文章
        相关标签/搜索
        管家婆精选心水黄大仙 河北区| 湘潭市| 乳山市| 大名县| 额尔古纳市| 鄱阳县| 广宁县| 海宁市| 朝阳县| 沙田区| 当涂县| 商丘市| 清原| 平潭县| 凤冈县| 盘山县| 新邵县| 高台县| 清镇市| 翁源县| 松原市| 吉木萨尔县| 泗水县| 保定市| 鹿邑县| 泌阳县| 嘉定区| 盱眙县| 延庆县| 保亭| 太谷县| 平舆县| 太谷县| 景洪市| 双柏县| 五原县| 乐陵市| http://fa.hz0j2r8vo.fun http://fa.hz0j1r0vo.fun http://fa.hz0j1r1vo.fun http://fa.hz0j1r7vo.fun http://fa.hz0j0r2vo.fun