枚舉

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);
    }

}
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息