• 【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();
        }
    }

    测试结果:







  • 相关阅读:
    svn git 共存
    如何写软件设计文档
    spring boot requestbody string to date
    asp.net core 1.1 publish to a linux
    asp.net core 1.1 entityframework mysql
    [FPGA]記錄一些不錯的網站推薦給大家參考。
    [FPGA][DE0] Qsys 加入 FLASH 記憶體 方法及步驟
    [FPGA][Nios][DP83848] 網路開發筆記-軟體篇(1)
    [Nios][UART] 使用UART 的一些問題?
    [Nios][Eclipse] find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/4713967.html
Copyright © 2020-2023  润新知