/**
*enum
關鍵字表示列舉型別,它的作用相當於類宣告中的
class
關鍵字 *
列舉型別不能有
public
的構造方法
*所有的列舉值都是
public
、static
、final的,
這些修飾符都是自動加上
,無須程式設計師手動新增
*列舉值之間用逗號
","分開
,最後乙個列舉值後面接分號
";" *
每乙個列舉值是乙個列舉型別的例項
*可以在列舉型別中定義非列舉值變數
,這些變數可以使用任何修飾符
*變數和方法的定義必須在列舉值後面定義
*/publicclassenumtype
publicstaticvoidmain(string args)
system.
out.println();
person p = person.
chinese;
//比較列舉值
if(p == person.
chinese)
//使用valueof
獲得字串描述的列舉值
p = person.valueof(
"american");
//在switch
中使用列舉值
//switch
中可以放置的型別有
byte,short,int,char,enum,
注意沒有
long
switch(p)
//獲得列舉值在列舉型別中宣告的順序
system.
out.println(
"american
的序號: "
+ person.
american
.ordinal());
system.
out.println(
"chinese
的序號: "
+ person.
chinese
.ordinal());
system.
out.println(
"english
的序號: "
+ person.
english
.ordinal());
//使用更複雜的列舉型別
complexperson
complexperson cp = complexperson.
chinese;
//因為為chinese
列舉值覆蓋了
tostring()方法,
所以呼叫的是
chinese
的tostring方法
system.
out.println(
"cp.tostring(): "
+ cp);
cp = complexperson.
american;
//因為沒有為
american
列舉值覆蓋
tostring方法,
所以呼叫預設的
tosting方法
cp = complexperson.
other;
system.
out.println(
"cp.getvalue(): "
+ cp.getvalue());
}
/**乙個更複雜的列舉型別*/
enumcomplexperson
},
american("
美國人"),
english("
英國人")
},
other
};privatestring
value
=null;
//列舉類值的
value屬性,
只能宣告在列舉值的後面
//預設的構造方法
complexperson()
//帶引數的構造方法
complexperson(string value)
//獲取
value屬性
publicstring getvalue()}}
JDK 5 0新特性 列舉
列舉 需要在一定範圍內取值,這個值只能是這個範圍內的任意乙個。例如 交通訊號燈。列舉的構造方法是私有的。建立列舉的格式 其中enum為列舉關鍵字 enum 列舉型別名稱例如紅綠燈的列舉 private color color test public void test enum color列舉的常用...
掌握JDK1 5列舉型別
enum作為sun全新引進的乙個關鍵字,看起來很象是特殊的class,它也可以有自己的變數,可以定義自己的方法,可以實現乙個或者多個介面。當我們在宣告乙個enum型別時,我們應該注意到enum型別有如下的一些特徵。1 它不能有public的建構函式,這樣做可以保證客戶 沒有辦法新建乙個enum的例項...
JDK5 0新特性 1 自動裝箱和拆箱
基本型別的資料值可以直接賦給基本資料物件,基本資料的物件也可以直接賦給基本資料變數 在表示式中,基本型別的資料值可以和基本資料物件進行運算 基本資料型別的陣列不能實現自動裝箱和拆箱,即int不能當成integer使用 演示基本資料型別的自動拆箱和裝箱 public class autobox boo...