枚举主要用于枚举常量,下面举个简单的应用。
比如一个公司有如下几个部门:
  • 研发部:
  • 销售部:
  • 财务部:
(其他部门暂时不列举)
部门的某些信息相对固定,此时可以考虑使用枚举来说明;

枚举类 Depts.java


package myEnum;
public enum Depts {
    
    FINACEDEPT("财务部","负责公司财务"),
    DEVELOPDEPT("研发部","负责软件研发工作"),
    SALEDEPT("销售部","负责公司的销售工作");
    
    private final String name_cn;         //中文名
    private final String description;     //描述
    Depts(String n,String desc){
        this.name_cn = n;
        this.description = desc;
    }
    
    public String getName_cn() {
        return name_cn;
    }
    public String getDescription() {
        return description;
    }  
}

测试类:EnumTest.java


package myEnum;
public class EnumTest {
    public static void main(String args[]) {
        for (Depts dept : Depts.values()) {
            System.out.println(dept + "-" + dept.getName_cn() + "-"
                    + dept.getDescription());
        }
        System.out.println(Depts.DEVELOPDEPT.getDescription());
        System.out.println(Depts.DEVELOPDEPT);
    }
}

测试结果:




我们还可以为枚举参加抽象方法,然后让每个枚举值实现这个抽象方法。

package myEnum;
public enum Depts {
    
    FINACEDEPT("财务部", "负责公司财务") {
        void printInfo() {
            System.out.println("最近公司财务信息不错");
        }
    },
    DEVELOPDEPT("研发部","负责软件研发工作") {
        void printInfo() {
            System.out.println("公司使用Java作为研发工具");
        }
    },
    SALEDEPT("销售部","负责公司的销售工作") {
        void printInfo() {
            System.out.println("公司销售目标:10000台/年");
        }
    };
    
    private final String name_cn;         //中文名
    private final String description;     //描述
    Depts(String n,String desc){
        this.name_cn = n;
        this.description = desc;
    }
    
    public String getName_cn() {
        return name_cn;
    }
    public String getDescription() {
        return description;
    }
    
    abstract void printInfo();
}

测试类:

package myEnum;
public class EnumTest {
    public static void main(String args[]) {
        for (Depts dept : Depts.values()) {
            System.out.print(dept);
            dept.printInfo();
        }
        Depts.DEVELOPDEPT.printInfo();
    }
}

测试结果:


【Java编程进阶-1】enum枚举的使用的更多相关文章

  1. Java编程的逻辑 (23) - 枚举的本质

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  2. [刘阳Java]_程序员Java编程进阶的5个注意点,别编程两三年还是增删改查

    此文章也是关注网上好几篇技术文章后,今天分享出来.因为,总有在程序学习路上的小伙伴会感到迷茫.而迷茫存在的情况如下 第一种:在大学学习中出现的迷茫,不知道Java到底要学什么.学习Java的标准是什么 ...

  3. Java编程思想学习笔记——枚举类型

    前言 关键字enum可以将一组具名的值有限集合创建一种为新的类型,而这些具名的值可以作为常规的程序组件使用. 正文 基本enum特性 调用enum的values()方法可以遍历enum实例,value ...

  4. java成神之——enum枚举操作

    枚举 声明 枚举遍历 枚举在switch中使用 枚举比较 枚举静态构造方法 使用类来模拟枚举 枚举中定义抽象方法 枚举实现接口 单例模式 使用静态代码快 EnumSet EnumMap 结语 枚举 声 ...

  5. 来测试下你的Java编程能力

    上篇整理了下后面准备更系统化写的Java编程进阶的思路,如果仅看里面的词,很多同学会觉得都懂,但我真心觉得没有多少人是真懂的,所以简单的想了一些题目,感兴趣的同学们可以来做做看,看看自己的Java编程 ...

  6. 阿里毕玄:来测试下你的Java编程能力

    上篇整理了下后面准备更系统化写的Java编程进阶的思路,如果仅看里面的词,很多同学会觉得都懂,但我真心觉得没有多少人是真懂的,所以简单的想了一些题目,感兴趣的同学们可以来做做看,看看自己的Java编程 ...

  7. 161208、Java enum 枚举还可以这么用

    在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...

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

    背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...

  9. Java中的enum枚举类

    首先说说为什么要写这个enum枚举类吧,是群里有个新手问:怎样把enum类中的值遍历得到,其实自己用的也很少.自己也是确实不知道,于是我去网上搜了不少,总结了些,希望对大家有帮助:首先我说说怎样遍历枚 ...

随机推荐

  1. Hive on Spark运行环境搭建

    Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收 ...

  2. Android 2.3 不支持印度文

    Android 2.3 不支持印度文(hindi),即使你指定了相关的字符串也不行,它们一律显示为方格. 实际上,你在系统的语言设置界面也可以看到,印度文一行也是被显示为方格(既然是方格,如何知道它是 ...

  3. tyvj 1057 dp 变形背包

    P1057 金明的预算方案 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2006 提高组 第二道 描述 金明今天很开心,家里购置的新房就要领钥匙了 ...

  4. 当我把电脑500G硬盘格式化了的时候,在想些什么

    所以我就想重新尝试一下怎么装多系统,bootloader,MBR到底是怎么回事儿. 简要记录一下: 首先,在可以作为启动盘的U盘里面,备份一份可以用的WinXP镜像+校园网客户端安装文件+驱动精灵安装 ...

  5. leetcode 119 Pascal's Triangle II ----- java

    Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...

  6. 求10000以内n的阶乘

    总时间限制:  5000ms 内存限制:  655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一行,即n!的值. 样例输入 ...

  7. HTML文件结构

    转载(http://jingyan.baidu.com/article/75ab0bcbf04a75d6864db2fd.html) HTML文件结构 HTML文件均以<html>标记开始 ...

  8. kuangbin_ShortPath S (POJ 3169)

    被cow类题目弄得有些炸裂 想了好久好久写了120多行 依然长跪不起发现计算约束条件的时候还是好多麻烦的地方过不去 然后看了看kuangbin的blog 都是泪啊 差分约束的方式做起来只要70多行啊炒 ...

  9. ExtJS Panel主要配置列表

    Ext.panel.Panel 属性 值 描述 animCollapse Boolean 设置面板折叠展开是否显示动画,Ext.Fx可用默认true,否则false applyTo Mixed 面板定 ...

  10. EDIUS和VEGAS哪个更好用

    随着数字化电视系统发展的步伐日趋加快,计算机技术逐步渗透到广播电视的各个领域,非线性编辑系统在广播电视行业内占据越来越重要的地位,而且正向多样化 发展.因此,非线性编辑技术的操作应用对于编辑人员有着非 ...