Java枚举类的学习
package java1; /** * @author 高槐玉 * #Description: * 枚举类的使用 * 1,枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 * 2.当需要定义一姐常量时,强烈建议使用枚举类 * 3.如果枚举类中只有一个对像,则可以作为单例模式的实现方式。 * 二、如何定义枚举类 * 方式-:jdk5.0之前,自定义枚举类 * 方式二:jdk5,0,可以使用enum关键字定义枚举类 * #Date: 2022/10/12/20点55分 * #Shangguigu:497集 */ class Enumerate{ //声明Season对象的属性:private final修饰 private final String Name; private final String Desc; //私有化类的构造器,并给对象属性赋值 private Enumerate(String name,String desc){ this.Name = name; this.Desc = desc; } //提供当前枚举类的多个对象:public static final的 public static final Enumerate SPRING = new Enumerate("春天","万物复苏"); public final static Enumerate AUTUMN = new Enumerate("秋天","秋高气爽"); public static Enumerate SUMMER = new Enumerate("夏天","烈日炎炎"); public final static Enumerate WINTER = new Enumerate("冬天","银装素裹"); //其他诉求,获取枚举类对象的属性 public String getName() { return Name; } public String getDesc() { return Desc; } //没有final修饰就可以改 public static Enumerate getSUMMER() { return SUMMER; } //重写toString方法才可以显示出来,不然打印的就是地址值 public String toString(){ return "季节:" + Name + ",特征:" + Desc; } } public class SeasonTest { public static void main(String[] args) { System.out.println(Enumerate.SPRING); System.out.println(Enumerate.AUTUMN); System.out.println(Enumerate.SUMMER); System.out.println(Enumerate.WINTER); } }
这是JDK5.0的自定义枚举类,下面列举JDK8的新的枚举类
package java1; /** * @author 高槐玉 * #Description 使用enum关键字定义枚举类,说明:定义的枚举类默认继承于java.lang.Enum类 * #Date: 2022/10/12/21点30分 * #Shangguigu:500集 */ public class SeasonTest2 { public static void main(String[] args) { Season2 s2 = Season2.AUTOMN; System.out.println(s2); System.out.println(Season2.class.getSuperclass()); } } //使用enum关键字定义枚举类 enum Season2{ //提供当前枚举类的对象,多个对象之间用","隔开,末尾对象用";"结束 SPRING("春天!","春暖花开!"), SOMMER("夏天!","酷暑难耐!"), AUTOMN("秋天!","晚装红遍!"), WINTER("冬天!","白雪皑皑!"); //声明Season对象的属性:private final修饰 private final String Name; private final String Desc; //私有化类的构造器,并给对象属性赋值 private Season2(String name,String desc){ this.Name = name; this.Desc = desc; } public String toString(){ return "季节:" + Name + ",特征:" + Desc; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通