1. 程式人生 > >Java面向物件-列舉的定義和特點以及底層分析

Java面向物件-列舉的定義和特點以及底層分析

列舉是從Java5開始提供的一種新的資料型別,是一個特殊的類,就是固定的多個常量物件

定義格式:

[修飾符] enum 列舉類名 
{
    常量A,常量B,常量C;
}

我們自定義的列舉型別,在編譯後(底層),都是直接繼承於java.lang.Enum類的。

列舉類的特點

1、列舉的直接父類是java.lang.Enum,但是不能顯示的繼承Enum
2、列舉就相當於一個類,可以定義構造方法、成員變數、普通方法和抽象方法
3、預設私有的構造方法,即使不寫訪問許可權也是private。(假構造器,底層沒有無引數的構造器)
4、每個例項分別用於一個全域性常量表示,列舉型別的物件是固定的,例項個數有限,不能使用new關鍵字。
5、列舉例項必須位於列舉中最開始部分,列舉例項列表的後面要有分號月其他成員相分隔
6、列舉例項後有花括號時,該例項是列舉的匿名內部類物件