枚举
方式一:jdk5.0 之前(不常用)
package com.atguigu.java; /* 一:枚举类的使用 1.枚举类的理解:类的对象是有限个、确定个的,称此类为枚举类 2.当需要定义一组常量时,强烈推荐使用枚举类 3.如果枚举类中只有一个对象,则可以作为单例模式的一种实现方式 二、如何定义枚举类 方式一: jdk5.0之前,自定义枚举类 方式二:jdk5.0,可以使用enum关键字定义枚举类 */ public class SeasonTest { public static void main(String[] args) { Season spring = Season.SPRING; String s = spring.toString(); System.out.println(s); //Season{seasonName=‘春天‘, seasonDesc=‘穿暖花开‘} } } //方式一:自定义枚举类 class Season{ //1声明Season对象的属性,用private final修饰 private final String seasonName; private final String seasonDesc; //2.私有化类的构造器,并给对象属性初始化 private Season(String seasonName,String seasonDesc){ this.seasonDesc = seasonDesc; this.seasonName = seasonName; } //3.提供当前枚举类的多个对象(外部可直接调用-静态方法):public static final public static final Season SPRING = new Season("春天","穿暖花开"); public static final Season SUMMER = new Season("夏天","夏日炎炎"); public static final Season AUTUMN = new Season("秋天","果实累累"); public static final Season WINTER = new Season("冬天","白雪皑皑"); //4.其他诉求:获取枚举类对象的属性 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } @Override public String toString() { return "Season{" + "seasonName=‘" + seasonName + ‘\‘‘ + ", seasonDesc=‘" + seasonDesc + ‘\‘‘ + ‘}‘; } }
方式二:使用enum关键字定义枚举类(常用)
package com.atguigu.java; /* 二:使用enum关键字定义枚举类 说明: 定义的枚举类默认继承与 java.lang.Enum 类 */ public class SeasonTest1 { public static void main(String[] args) { Season autumn = Season.AUTUMN; System.out.println(autumn); //Season{seasonName=‘秋天‘, seasonDesc=‘果实累累‘} } } enum Season1 { //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾的对象使用";"结束 SPRING("春天", "穿暖花开"), SUMMER("夏天", "夏日炎炎"), AUTUMN("秋天", "果实累累"), WINTER ("冬天", "白雪皑皑"); //2声明Season对象的属性,用private final修饰 private final String seasonName; private final String seasonDesc; //3.私有化类的构造器,并给对象属性初始化 private Season1(String seasonName, String seasonDesc) { this.seasonDesc = seasonDesc; this.seasonName = seasonName; } //4.其他诉求:获取枚举类对象的属性 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } // @Override // public String toString() { // return "Season1{" + // "seasonName=‘" + seasonName + ‘\‘‘ + // ", seasonDesc=‘" + seasonDesc + ‘\‘‘ + // ‘}‘; // } }
三
原文:https://www.cnblogs.com/sun1997/p/14687657.html