生活随笔
收集整理的這篇文章主要介紹了
                                
Java枚举的定义,使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            一,枚舉是什么?
 
 在數學和計算機科學理論中,一個集的枚舉是列出某些有窮序列集的所有成員的程序,或者是一種特定類型對象的計數。這兩種類型經常(但不總是)重疊。 [1] 是一個被命名的整型常數的集合,枚舉在日常生活中很常見,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一個枚舉。
 ----------參考 baidu.com
 
 
講人話,在Java里面就是個繼承Object實現Comparable, Serializable接口的類。
 
二,使用的地方
 
- 1, 常量的定義
 - 2, 可以switch
 - 3, 類似類 有set, get 構造(private EnumName(){…}), 有普通方法, 有靜態
 - 4, 可以實現接口
 - 5, 接口組織枚舉
 - 6, 枚舉集合
 
 
三,代碼實現
 
 
public interface MyEnumInterface {void print();
}
 
定義常量并實現接口
public enum MyEnum 
implements MyEnumInterface {SUN
, MON
, TUE
, WED
, THT
, FRI
, SAT
;@Overridepublic void print() {System
.out
.println(SUN 
+ "...");}static void constant() {MyEnum sun 
= MyEnum
.SUN
;System
.out
.println(sun 
+ "==>" + MyEnum
.valueOf("SUN"));}static void swithEnum(MyEnum me
) {		switch(me
) {case SUN
:System
.out
.println("sunday!");break;case MON
:break;case TUE
:break;case WED
:break;case THT
:break;case FRI
:break;case SAT
:break;default:break;}}}
 
 
enum Color 
{BLUE("藍色", 0), ORANGE("橙色", 1), YELLOW("黃色", 2);private String name
;private int index
;private Color(String name
, int index
) {this.name 
= name
;this.index 
= index
;}public static String 
getName(int index
) {for(Color color
: Color
.values()) {if (index 
== color
.getIndex()) {return color
.getName();}}return null
;}public String 
getName() {return name
;}public void setName(String name
) {this.name 
= name
;}public int getIndex() {return index
;}public void setIndex(int index
) {this.index 
= index
;}public String 
toString() {return getName() + ":" + getIndex();}} 
 
	static void testColor() {String name 
= Color
.getName(0);System
.out
.println(name
);Color blue 
= Color
.BLUE
;System
.out
.println(blue
);System
.out
.println(blue
.name());System
.out
.println("重寫了toString后, 返回下標枚舉值 " + blue
.toString());}
 
 
public interface MyEnumInterface {void print();
}
interface Food {enum Meat 
implements Food {SHEEP_MEAT
, FISH_MEAT
, BACON_MEAT
;void eat(Meat me
) {if (me
.equals(SHEEP_MEAT
)) {System
.out
.println("SHEEP_MEAT!");}}}}
 
 
	static void testEnumList() {EnumSet
<MyEnum> set 
= EnumSet
.noneOf(MyEnum
.class);set
.add(MyEnum
.MON
);set
.add(MyEnum
.FRI
);System
.out
.println(set
);}
                            總結
                            
                                以上是生活随笔為你收集整理的Java枚举的定义,使用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。