Java之列舉型別

2021-08-30 11:43:42 字數 1309 閱讀 2734

用乙個例子來說明:

在程式中規定交通燈的取值只能是

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....