如果一個類的對象有限而且固定的,比如季節類,它只有4個對象,像這種實例有限而且固定的類,我們在java中稱為枚舉類。
枚舉類是Java 5新增的,使用enum關鍵字來定義枚舉類,枚舉類是一種特殊的類,它一樣可以有自己的Field、方法,可以實現一個或者多個接口,也可以定義自己的構造器。在一個Java源文件中最多只能定義一個public訪問權限的枚舉類。枚舉類與普通類的區別有:
1、枚舉類可以實現一個或多個接口,使用enum定義的枚舉類默認繼承了java.lang.Enum類,并不是繼承了Object類。其中java.lang.Enum類實現了java.lang.Serializable和java.lang.Comparable兩個接口。
2、使用enum定義、非抽象的枚舉默認會使用final修飾,因此枚舉類不能派生子類。
3、枚舉類的構造器只能使用PRivate訪問控制符,如果省略了構造器的訪問控制符,則默認使用private修飾,如果強制指定訪問控制符,則只能指定private修飾符。
4、枚舉類的所有實例必須在枚舉類的第一行顯式列出,否則這個枚舉類永遠不能產生實例。列出這些實例時,系統會自動添加public static final修飾,無需程序顯式添加。
以下是枚舉類的一個范例:
/** * Created by Administrator on 2017/3/7. */enum Gender { MALE("男"), FEMALE("女"); private final String sex; private Gender(String sex) { this.sex = sex; } public String getSex() { return this.sex; }}public class Main { public static void main(String[] args) { System.out.println(Gender.FEMALE.getSex()); }}輸出結果:
女
新聞熱點
疑難解答