Java之列舉型別

2021-05-18 06:59:35 字數 1114 閱讀 7357

用乙個例子來說明:

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

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