• 枚举


    Java5开始,出现了一种新的类型:枚举,枚举其实是一个特殊的Java.

     

    定义格式:

    修饰符   enum  类名

    {

    常量A,常量B,常量C;

    }

    枚举特点:

    ① 枚举的直接父类java.lang.Enum,但是不能显示继承Enum。

    ② 枚举就相当于一个类,可以定义构造方法、成员变量、普通方法和抽象方法。

    ③ 默认私有的造方法,即使不写访问权限也是private。(假的构造器)

    ④ 每个实例分别用一个全局常量表示,枚举类的对象是固定的,实例个数有限,不能使用new关键字。

    ⑤ 枚举实例必须位于枚举体中的最开始部分,枚举实例列表的后要有分号与其他成员相分隔。

    ⑥ 枚举实例后有花括号时,该实例是枚举类的匿名内部类对象(查看编译后的class文件)。

    枚举的操作:

    1):获取枚举类型的数组(该类所有的常量)

    格式:枚举类名 [] 变量名 = 枚举类名 . values();

             Weekday[] days = Weekday.values();

        2):把一个字符串转换为枚举的常量对象.

         Weekday day   = Weekday.valueOf("THURSDAY");

     类似于day = THURSDAY; 只不过是把枚举的一个常量赋给枚举的一个对象。

    3):获取枚举的名称

    格式String 变量名 = 枚举类名 . 枚举常量 . name();

         String name = Weekday.SUNDAY.name();//SUNDAY

     //程序员建议使用Enum里面的toString() 方法

    格式String 变量名 = 枚举类名 . 枚举常量 . toString();

    4):获取枚举的序号(从0开始)相当于获取枚举数组的下标。

    格式int 变量名 = 枚举类名 . 枚举常量 . toString();

         int ordinal  = Weekday.SUNDAY.ordinal();//6

    从Java1.5开始出现Enum类型,switch也支持操作枚举类型。

    枚举的单例模式:

    Effective Java中文版(第2版) 中,建议枚举来做单例模式,很安全,即使使用反射也不能创建对象。

  • 相关阅读:
    树与树的表示
    队列的顺序/链式存储实现
    堆栈的链式存储实现
    堆栈的顺序存储实现
    线性表的链式存储求表长,查找,插入,删除
    C语言博客作业--函数
    C语言博客作业--嵌套循环
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业——输入输出格式
  • 原文地址:https://www.cnblogs.com/it-xiaoBai/p/8080541.html
Copyright © 2020-2023  润新知