Enum枚举学习- java5之前和之后的写法

enum枚举

JDK1.5以前枚举的写法

/**
 * java5.0以前,定义枚举类。类中的对象是有限的
 * @author amber
 *
 */
public class Season {
    private final String seasonName;
    private final String seasonDescription;

    private Season(String seasonName, String seasonDescription) {
        this.seasonName = seasonName;
        this.seasonDescription = seasonDescription;
    }

    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDescription() {
        return seasonDescription;
    }

    //定义枚举对象
    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("冬天", "白雪皑皑");

    @Override
    public String toString() {
        return "Season [seasonName=" + seasonName + ", seasonDescription=" + seasonDescription + "]";
    }
}

java5以后枚举的写法

/**
 * java5.0以后,定义枚举类。类中的对象是有限的
 * @author amber
 *
 */
public enum Season1 {
    //定义枚举对象.需要把对象放在第一行
    SPRING ("春天", "春意盎然"){
        @Override
        public void show() {
            System.out.println("This is Spring!");
        }
    },
    SUMMER ("夏天", "夏日炎炎"),
    AUTUMN ("秋天", "秋风习习"),
    WINTER ("冬天", "白雪皑皑");

    private final String seasonName;
    private final String seasonDescription;

    private Season1(String seasonName, String seasonDescription) {
        this.seasonName = seasonName;
        this.seasonDescription = seasonDescription;
    }
    public void show() {
        System.out.println("This is Season!");
    }
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDescription() {
        return seasonDescription;
    }
    @Override
    public String toString() {
        return "Season [seasonName=" + seasonName + ", seasonDescription=" + seasonDescription + "]";
    }
}

区别:

使用enum的时候

类对象必须放在第一行,分号改成逗号。最后一个对象用分号。并且把原来的

public static final Season SPRING = new Season("春天", "春意盎然");只留下有背景颜色的部分。

h2 { background: #390; border-bottom: 1px solid #006600 }

原文地址:https://www.cnblogs.com/amberbar/p/9882908.html

时间: 2024-08-30 14:30:53

Enum枚举学习- java5之前和之后的写法的相关文章

ENUM枚举学习

示例1:#include "stdio.h"void main(){ enum {Mon, Tue, Wed, Thr, Fri, Sat, Sun}; printf("Mon = %d\n", Mon); printf("Tue = %d\n", Tue); printf("Wed = %d\n", Wed); printf("Thr = %d\n", Thr); printf("Fri = %

Rhythmk 一步一步学 JAVA (18): Enum枚举学习

枚举定义: public enum SizeEnum { SMALL, BIG, BIGEST }; public enum SizeStringEnum { SMALL("小"), BIG("大"), BIGEST("巨大"); private String strSizeString; public String toString() { return strSizeString; } private SizeStringEnum(Strin

java 枚举(enum)学习

之前没有用过枚举,不懂.今天找了些资料学习了,现在总结如下:(希望高手看到后批评指教) 枚举的作用: 1.限定某一类型的取值范围. 2.不再写public static final...(如果取值范围太广,就太麻烦了),但最终enum还是要转化成class类型,还是会加public static final... 一段代码说明为什么java要有enum类型: package good.good.study; public class EnumStudy2 { public static void

枚举学习

枚举学习 1. 问题 jdk1.5开始引入了枚举,可以很方便地组织一些固定类型的常量. 看到<Effective Java>这本书中关于枚举那一条建议中有提到"试图使每个常量都从自己的构造器将自身放到map中,会导致编译时错误",但是这是为什么呢? 2. 写一个枚举类试验下先 public enum StatusEnum { Initial("initial"), Done("done") ; // 自定义的静态map去存储value

java之enum枚举(2015年05月28日)

背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定了解下enum枚举   一.简介 Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型. 二.基本用法 1.作为常量使用 一个完整的枚举类型示例 /** * 枚举 * @author Dreyer * @since 1.0 * @dat

enum枚举类型的定义

enum枚举类型的定义方式与某种用法 #include <iostream> using namespace std; int main() { enum TOT{ zero, one, two, three, four, five };//0,1,2,3,4,5 TOT to1; to1 = five; switch (to1) { case 0:cout << "zero\n"; break; case 1:cout << "one\n

中秋佳节--理解Enum枚举

一.Enum枚举的作用 1.使用枚举可以限定取值范围,枚举中定义的每个常量都可以理解为对象: Eg: Public enum Color{ RED, GREEN,BULE; } 说明:RED实际上就表示的是枚举的名称,默认的编号是0,可以使用ordinal()方法获得. 2.使用enum关键字定义枚举类,其中包含的对象可以初始化定义(初始化构造函数) Eg: package cn.test.java.enums; enum ColorDemo{ RED("红色"),GREEN(&quo

C语言——enum枚举类型

enum是枚举类型,实际上就是定义一组值,enum定义数据类型的值只能是这一组值中的一个. 在实际生活中,很多问题都与是这样的.如人的性别,只有男女两种:一星期有七天:月份只有十二个值. 如下定义一周七天的值: #include <stdio.h> typedef enum { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }week; int main() { printf("%d %d %d %d %

开发中巧用Enum枚举类型

在实际开发中,在数据库表设计中,我们往往习惯于用一个Int类型的State字段去表示数据的状态,这个字段很方便去表示这条数据的状态,但是又不愿意去建一张这个State字段的外键表去解释状态.(这一类型表状态的字段可能还会有很多,这里只是举个例)   我们一般会把这个State字段当成一个约定,去在项目中应用(比如:0:启用,1:禁用) 在后台管理或其它地方显示Int类型对应的实际状态时,再到公共类中去写一个方法,里面用一个switch...case去返回对应的中文解释. http://www.d