2019-04-1217:56:20ide
* 枚舉
能夠替代常量
在已知個數的狀況下可使用枚舉
定義枚舉 關鍵字 enum 構造方法不能有public
對象不能隨意建立
構造方法不能在外部使用 不能new
和一個正常類相比區別
1.不能在類的外部實例化 只能在類內部定義
2.定義的對象都是public static final的
3.沒有用abstract修飾卻能夠添加抽象方法
4.構造方法默認私有 不能用 public protected 修飾
public enum Direction { //枚舉的對象直接類的對象直接建立,不須要new //若是枚舉類中定義了抽象方法,就須要將抽象方法實現 EAST("東"){ //// ---->至關建立一個對象----->"東"給string 賦值用 @Override public void b() { //重寫b方法 } },SOUTH("南"){ @Override public void b() { } },WEST("西"){ @Override public void b() { } },NORTH("北"){ @Override public void b() { } }; private String a; //能夠定義變量 Direction(String a) { //能夠定義構造方法 this.a = a; } public void show(){ //能夠寫方法 System.out.println(a); } public abstract void b(); //定義抽象方法 }
public class Test { public static void main(String[] args) { System.out.println(Direction.EAST); Direction.WEST.show(); //判斷兩個枚舉是否相同 Direction dir = Direction.EAST; System.out.println(dir == Direction.EAST);//判斷枚舉是否相同的方法 System.out.println(dir.compareTo(Direction.WEST)); //枚舉下標作差 爲0是相同 //---描述枚舉 System.out.println(dir.ordinal()); //枚舉下標 System.out.println(dir.name());//顯示字符串 } public static void showDirection(Direction dir) { System.out.println(dir); } }