zoukankan      html  css  js  c++  java
  • 【Java编程进阶-1】enum枚举的使用

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

    枚举类 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();
        }
    }

    测试结果:







  • 相关阅读:
    Linux 下QT安装教程
    内核中断及按键驱动程序
    Linux 输入子系统原理理解(原创)
    深入分析Linux内核源码oss.org.cn/kernel-book/
    [MSDN]最新Win7 SP1简体中文所有版本下载
    递归打印级联目录
    递归与迭代学习(联级目录的创建与删除)
    PHP三种方法实现多文件上传
    PHP实现商城购物车类(SESSION+单例模式 )(亲测)
    PHP生成缩略图、验证码类封装
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/4713967.html
Copyright © 2011-2022 走看看