java基础之枚举

1、如何自定义枚举类

①提供类的属性,声明为private final

②声明为final的属性在构造器中初始化

③通过公共的方法来调用属性

④创建枚举类的对象 :将类的对象声明为 public static final

//枚举类
    class Season{
        //1、提供类的属性,声明为private final
        private final String seasonName;
        private final String seasonDesc;
       
        //2、声明为final的属性在构造器中初始化
        private Season(String seasonName,String seasonDesc){
            this.seasonName=seasonName;
            this.seasonDesc=seasonDesc;
        }
        //3、通过公共的方法来调用属性
        public String getSeasonName() {
            return seasonName;
        }

        public String getSeasonDesc() {
            return seasonDesc;
        }
        //4、创建枚举类的对象 :将类的对象声明为 public static final
        public static final Season SPRING = new Season("spring", "春暖花开");
        public static final Season SUMMER = new Season("summer", "夏日炎炎");
        public static final Season FALL = new Season("fall", "秋高气爽");
        public static final Season WINTER = new Season("winter", "白雪皑皑");
       
        @Override
        public String toString() {
            return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";
        }
    }

1>如何让枚举类实现接口 :可以让不同枚举累的对象调用被重写的抽象方法,相当于让每个对象重写抽象方法
    //4、创建枚举类的对象 :将类的对象声明为 public static final
        SPRING("spring", "春暖花开"){
            public void show(){
                System.out.println("春天在哪里?");
            }
        }

2、如何使用enum关键字定义枚举类

方式①:

//public static final Season SPRING = new Season();
      SPRING(){
          public void show(){
              System.out.println("我是春天!");
          }
      },
      //public static final Season SUMMER = new Season();
      SUMMER(){
          public void show(){
              System.out.println("我是夏天!");
          }
      },
      //public static final Season FALL = new Season();
      FALL(){
          public void show(){
              System.out.println("我是秋天!");
          }
      },
      //public static final Season WINTER = new Season();
      WINTER(){
          public void show(){
              System.out.println("我是冬天");
          }
      };
     private Season1(){}

方式②:

public enum Season {
    SPRING,SUMMER,FALL,WINTER;
}

3、enum的方法:
values
返回一个装有enum对象的数组
valueOf(String name);
返回对应的枚举的对象

猜你喜欢

转载自geertu.iteye.com/blog/2316893