java5之枚舉

來源:互聯網
上載者:User

<!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 10]>

<![endif]-->

枚舉

枚舉就是要把某一類型的變數只能為某些特定的值中的一個,這樣可以把錯誤在編譯階段就顯現出來,這是比普通變數優越的地方.

用普通類類比枚舉類

 class WeekDay(){

private WeekDay(){}//構造方法為私人,這樣就不能在外部建立執行個體對象

public static WeekDay SUN = new WeekDay();

public static WeekDay MON = newWeekDay();//建立公有的靜態本身類型的變數,即自身的執行個體對象

public String toString(){}//覆蓋toString方法

}

new xxx(){},若xxx為一個普通類,則表示xxx的子類,若xxx是抽象類別,{}內寫這個子類的實現的抽象方法;若xxx為一個介面類,則表示xxx的實作類別,{}內為介面方法的實現代碼

枚舉類以關鍵字enum來定義,.在定義時指定元素列表,枚舉類的執行個體對象只能是列表中的一個元素.若枚舉類內只有元素列表時,則可以不以;結尾.

若枚舉類有構造方法時,構造方法只能是私人的且位於元素列表之後.若有多個構造方法時,元素可以指定參數列表以表明使用哪個構造方法.

enum sexy{

 FAMALE(12),MALE(21);//使用有參的構造方法

Private sexy(){}

Private sexy(int age){}

}

若枚舉類有抽象方法,則可以通過在元素列表中加入抽象方法的實現代碼的方式,將每個元素都當作這個枚舉類的子類建立的對象.

enum person{

FAMALE{

Public void getMarried(){System.out.println(“getMarriedwith male”);}

},

MALE{

Public void getMarried(){System.out.println(“getMarriedwith famale”);}

};//元素由person類的子類建立,並實現了getMarried方法

Public abstract getMarried();

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.