【Java编程进阶-1】enum枚举的使用

本文通过一个具体的例子展示了如何在Java中使用枚举类型来表示公司的不同部门,并为每个部门定义了具体的功能描述。此外,还介绍了如何为枚举类型添加抽象方法并由各个枚举值实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

测试结果:







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值