enum

老子叫甜甜 提交于 2020-01-19 06:56:48
  • 由于枚举类型的实例是常量,因此按照命名惯例他们都用大写字母表示。(如果在一个名字中间有多个单词,用下划线将他们隔开)。

特性

  • 枚举中所有的成员,必须出现在枚举对象的下面。
  • 如果枚举类中有一个成员,那么枚举对象最后不能省略分号。
  • 枚举中的构造方法必须私有。(也分为有参构造和无参构造)
  • 抽象方法的意义:可以用来描述某个枚举成员的信息,提高程序的可读性。
  • 可以在switch语句内使用。

枚举中常用的方法

  • String name() 返回枚举常量的名称,与其枚举声明中声明完全相同
  • int ordinal() 用来表示某个特定的enum常量的声明顺序。从0开始
  • static values():按照enum常量的声明顺序,产生有这些常量值构成的数组。

枚举类型的使用

public enum  Weeked {
   MONDYA{ //可以理解为是Weeked的一个实例对象
       @Override
       public void desc() {
           System.out.println("今天星期一");
       }
   },
   TUESDAY("星期二"){
       @Override
       public void desc() {
           System.out.println("今天星期二");
       }
   },
   WEDNESDAY("星期三"){
       @Override
       public void desc() {
           System.out.println("今天星期三");
       }
   },
   THURSDAY{
       @Override
       public void desc() {
           System.out.println("今天星期四");
       }
   },
   FRIDAY("星期五",505){
       @Override
       public void desc() {
           System.out.println("今天星期五");
       }
   },
    SATURDAY("星期六", 606){
        @Override
        public void desc() {
            System.out.println("今天星期六");
        }
    },
   SUNDAY(){
       @Override
       public void desc() {
           System.out.println("今天星期日");
       }
   };
   private String weekedName;
   private Integer order;
   private Weeked() {
       System.out.println(this.toString()+"采用了无参构造");
   }
    private Weeked(String weekedName) {
        this.weekedName = weekedName;
        System.out.println(this.toString()+"采用了一个参数构造");
    }
    private Weeked(String weekedName, Integer order) {
        this.weekedName = weekedName;
        this.order = order;
        System.out.println(this.toString()+"采用了两个参数构造");

    }
    public String getWeekedName() {
        return weekedName;
    }
    public Integer getOrder() {
        return order;
    }
    public abstract void desc();

}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!