Java之枚举
1.定義
enum 是一種數據類型,與 全局常量比較相似,都是全局的并且是可以通過類名調用的與全局常量區別
枚舉功能更強大,可以有屬性和方法枚舉比全局常量更加的規范2.枚舉特性
1)可以有屬性以及set/get,方法,構造函數2)可以與switch連用3)可以重寫toString方法,打印枚舉對象時也會默認調用(官方不提供自動重寫該方法)4)可以實現接口3.獲取枚舉對象方法
【返回枚舉屬性值對應的對象】枚舉.valueof(“屬性值”) 【返回所有枚舉屬性值對應的對象】枚舉.values() 【返回枚舉對象】枚舉.屬性4.枚舉實例
代碼:
枚舉類
package com.qf.demo7;public enum Color {// red,green,yellow,實際上是Color枚舉類型對象RED("紅色",1),GREEN("綠色",2),YELLOW("黃色",3);// 無論是否創建枚舉對象 都一定需要加上 分號 否則編譯報錯//枚舉類可以添加屬性和方法,如下String name;int id;private Color(String name, int id) {this.name = name;this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}// 枚舉中可以重寫 toString 但是官方不會提供 // 打印對象時,會幫助自動調用@Overridepublic String toString() {// TODO Auto-generated method stubreturn "id="+id+",name="+name;} }測試類:
package com.qf.demo7;public class Test {public static void main(String[] args) {//1.獲取枚舉對象:類.屬性Color color= Color.YELLOW;// System.out.println(color.getName()+" "+color.getId());//2.獲取枚舉對象:類.valueOf()Color color2 = Color.valueOf("RED");// 根據枚舉屬性值 得到 枚舉對象//3.獲取所有屬性值:類.values()Color[] colors = Color.values();// 得到枚舉中所有的屬性對應的對象for (Color color3 : colors) {System.out.println(color3);}//4.枚舉可以作為switch語句的表達式switch (color2) {case RED:System.out.println("紅色");break;case GREEN:System.out.println("綠色");break;case YELLOW:System.out.println("黃色");break;}} }總結
- 上一篇: Java之【线程通信】--标志位练习2
- 下一篇: Java之枚举----小试牛刀练习