列舉類的本質就是提供有限個例項,我們自己不能隨便new物件,那麼我們先按照如下步驟自己手動實現一下代表季節的列舉類,提供春、夏、秋、冬4個例項:
定義myenumation類,私有化建構函式
宣告季節名稱、季節描述2個成員變數,生成相應的構造方法和set/get方法
宣告4個靜態的myenumation型別的常量分別代表春、夏、秋、冬,並初始化
public
class
myenumation
private
myenumation
(string name, string desc)
public string getname()
public
void
setname
(string name)
public string getdesc()
public
void
setdesc
(string desc)
}
測試使用**如下:
system.out.
println
("測試自己手工實現的列舉類");
myenumation spring = myenumation.spring;
myenumation summer = myenumation.summer;
myenumation autumn = myenumation.autumn;
myenumation winter = myenumation.winter;
system.out.
println
(spring.
getname()
+":"
+ spring.
getdesc()
);system.out.
println
(summer.
getname()
+":"
+ summer.
getdesc()
);system.out.
println
(autumn.
getname()
+":"
+ autumn.
getdesc()
);system.out.
println
(winter.
getname()
+":"
+ winter.
getdesc()
);
接下來再用系統的enum同樣來實現下春夏秋冬的列舉類:
利用enum關鍵字定義enumation類
宣告季節名稱、季節描述2個成員變數,生成相應的構造方法和set/get方法
宣告4例項分別代表春、夏、秋、冬,並初始化
//利用enum關鍵字定義列舉類
public
enum enumation
public string getname()
public
void
setname
(string name)
public string getdesc()
public
void
setdesc
(string desc)
}
應該能發現,其實利用系統enum定義的列舉,思路和步驟和我們自己手動實現差不多,只是寫法上有稍許區別,顯得更加簡潔:
構造方法已預設私有化,故方法名前面不需要加private修飾符
無需再定義靜態常量並new物件,只需以例項名稱1(引數列表),例項名稱2(引數列表)…例項名稱n(引數列表);的形式提供所有的列舉例項,這樣就會自動呼叫相應的建構函式生成例項
測試使用**如下:
system.out.
println
("測試系統enum實現的列舉類");
enumation spring1 = enumation.spring;
enumation summer1 = enumation.summer;
enumation autumn1 = enumation.autumn;
enumation winter1 = enumation.winter;
system.out.
println
(spring1.
name()
+"-"
+ spring1.
ordinal()
+"-"
+ spring1.
getname()
+"-"
+ spring1.
getdesc()
);system.out.
println
(summer1.
name()
+"-"
+ summer1.
ordinal()
+"-"
+ summer1.
getname()
+"-"
+ summer1.
getdesc()
);system.out.
println
(autumn1.
name()
+"-"
+ autumn1.
ordinal()
+"-"
+ autumn1.
getname()
+"-"
+ autumn1.
getdesc()
);system.out.
println
(winter1.
name()
+"-"
+ winter1.
ordinal()
+"-"
+ winter1.
getname()
+"-"
+ winter1.
getdesc()
);
輸出結果:
另外系統enum還提供了==values()==方法,用於遍歷所有列舉的例項:
system.out.
println
("測試系統enum的方法");
enumation[
] values = enumation.
values()
;for
(enumation value : values)
簡單的使用列舉類
列舉類使用例子 public enum systemusertype public string getlabel public static systemusertype getenum string name for systemusertype enums values return null...
每天JAVA簡單教學 列舉類
今天給大家介紹乙個jdk1.5的新特性 列舉類 先來看看以下的例子 package enumdemo public enum weekdays 上面我們就定義了乙個列舉類。列舉類裡面只會定義一系列的關鍵字,它的用法如下 package enudemo public class weekdaysdem...
關於列舉類的簡單使用
public enum hwenum public void setcode string code public string getname public void setname string name hwenum string code,string name public static ...