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

    测试结果:







  • 相关阅读:
    Multi-Channel MAC for Ad Hoc Networks: Handling Multi-Channel Hidden Terminals Using A Single Transceiver
    Cognitive Radio Emergency Networks – Requirements and Design
    OS-MAC: An Efficient MAC Protocol for Spectrum-Agile Wireless Networks
    OSA-MAC: A MAC Protocol for Opportunistic Spectrum Access in Cognitive Radio Networks
    HC-MAC: A Hardware-Constrained Cognitive MAC for Efficient Spectrum Management
    用HTWCore智能"记笔记"
    基于.NET Core winform的录音、字幕软件HTWCore的技术总结
    用人工智能工具解决工作中遇到的录音整理、速录行业的问题
    一段讯飞、百度等语音识别API无法识别的语音最终解决办法
    c#项目调用Python模块的方法
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/4713967.html
Copyright © 2011-2022 走看看