如果一個(gè)類(lèi)的對(duì)象有限而且固定的,比如季節(jié)類(lèi),它只有4個(gè)對(duì)象,像這種實(shí)例有限而且固定的類(lèi),我們?cè)?a href="http://m.survivalescaperooms.com/article.asp?typeid=160">java中稱(chēng)為枚舉類(lèi)。
枚舉類(lèi)是Java 5新增的,使用enum關(guān)鍵字來(lái)定義枚舉類(lèi),枚舉類(lèi)是一種特殊的類(lèi),它一樣可以有自己的Field、方法,可以實(shí)現(xiàn)一個(gè)或者多個(gè)接口,也可以定義自己的構(gòu)造器。在一個(gè)Java源文件中最多只能定義一個(gè)public訪問(wèn)權(quán)限的枚舉類(lèi)。枚舉類(lèi)與普通類(lèi)的區(qū)別有:
1、枚舉類(lèi)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,使用enum定義的枚舉類(lèi)默認(rèn)繼承了java.lang.Enum類(lèi),并不是繼承了Object類(lèi)。其中java.lang.Enum類(lèi)實(shí)現(xiàn)了java.lang.Serializable和java.lang.Comparable兩個(gè)接口。
2、使用enum定義、非抽象的枚舉默認(rèn)會(huì)使用final修飾,因此枚舉類(lèi)不能派生子類(lèi)。
3、枚舉類(lèi)的構(gòu)造器只能使用PRivate訪問(wèn)控制符,如果省略了構(gòu)造器的訪問(wèn)控制符,則默認(rèn)使用private修飾,如果強(qiáng)制指定訪問(wèn)控制符,則只能指定private修飾符。
4、枚舉類(lèi)的所有實(shí)例必須在枚舉類(lèi)的第一行顯式列出,否則這個(gè)枚舉類(lèi)永遠(yuǎn)不能產(chǎn)生實(shí)例。列出這些實(shí)例時(shí),系統(tǒng)會(huì)自動(dòng)添加public static final修飾,無(wú)需程序顯式添加。
以下是枚舉類(lèi)的一個(gè)范例:
/** * 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()); }}輸出結(jié)果:
女
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注