用乙個例子來說明:
在程式中規定交通燈的取值只能是
red,green,yellow
取其他值就會報錯,並且還能根據當前顏色知道下個顏色.怎麼實現??
一. 用普通類來實現
public abstract class trafficlamp
//取得下個燈
public abstract trafficlamp nextlamp();
//內部類實現覆寫
public final static trafficlamp red = new trafficlamp()
};public final static trafficlamp green = new trafficlamp()
};public final static trafficlamp yellow = new trafficlamp()
};@override
public string tostring() else if(this == green)else}}
測試:public class enumtest
結果:red
green
二、用列舉實現
public class enumtest
public enum trafficlamp
},green
},yellow
};public abstract trafficlamp nextlamp();}}
結果:redgreen
所以:列舉就是要讓某個型別的變數的取值只能為若干個固定值中的乙個,否則,編譯器就會報錯
。列舉可以讓編譯器在編譯時就可以控制源程式中填寫的非法值,普通變數的方式在開發階段無法實現這一目標。
列舉就相當於乙個類,其中也可以定義構造方法、成員變數、普通方法和抽象方法。
列舉元素必須位於列舉體中的最開始部分,列舉元素列表的後要有分號與其他成員分隔。把列舉中的成員方法或變數等放在列舉元素的前面,編譯器報告錯誤。
列舉還提供了很多使用的方法。可以檢視幫助文件
Java之列舉型別
用乙個例子來說明 在程式中規定交通燈的取值只能是 red,green,yellow 取其他值就會報錯,並且還能根據當前顏色知道下個顏色.怎麼實現?一 用普通類來實現 public abstract class trafficlamp 取得下個燈 public abstract trafficlamp...
java列舉型別
使用列舉的關鍵技術如下 1 enum關鍵字表示列舉型別,它的作用相當於類宣告中的class關鍵字。2 列舉型別不能有public的構造方法。3 所有的列舉都是public static final的,這些修飾符都是自動加上,無須程式設計師手動新增。4 列舉之間用 分開,最好乙個列舉值用分號 5 每乙...
java列舉型別
1.定義乙個color的列舉型別 enum color 2.取出乙個列舉型別 public static void main string args 列印結果為 red3.使用foreach輸出列舉內容 for color c1 color.values 列印結果為 redgreen blue 4....