Java — 枚举
2022/5/10 17:00:33
本文主要是介绍Java — 枚举,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 一、枚举简介
- 二、枚举作用
- 三、枚举实现接口
一、枚举简介
枚举是 JDK5 中引入的特性,由 enum
关键字来定义一个枚举类。
格式:
enum 枚举类名 { 枚举项1, 枚举项2, ...; 成员变量; 构造方法 成员方法 }
说明:
- 每个枚举类型隐式继承
java.lang.Enum
,所以枚举类不能再继承其它类。 - 枚举项就是枚举类型的静态常量对象(实例),通过
枚举类型.枚举项名称
访问指定的枚举项。 - 枚举项命名一般使用大写字母,多个枚举项用英文逗号隔开,以英文分号结束。
- 枚举类型的构造方法需要私有化,成员变量只提供 get 方法。
二、枚举作用
一些程序在运行时需要的数据不能是随意的,必须是一定范围内的值。也就是统一管理一些常量。
JDK5 之前采用自定义类来解决,JDK5 之后可以直接采用枚举解决。
示例:
// JDK5之前自定义性别枚举 public class CustomSexEnum { public static final CustomSexEnum man = new CustomSexEnum(1, "男"); public static final CustomSexEnum woman = new CustomSexEnum(2, "女"); private Integer code; private String desc; private CustomSexEnum() { } private CustomSexEnum(Integer code, String desc) { this.code = code; this.desc = desc; } public Integer getCode() { return code; } public String getDesc() { return desc; } }
// JDK5之后定义性别枚举 public enum SexEnum { man(1, "男"), woman(2, "女"); private Integer code; private String desc; private SexEnum() { } private SexEnum(Integer code, String desc) { this.code = code; this.desc = desc; } public Integer getCode() { return code; } public String getDesc() { return desc; } }
测试:
public class Test_01 { public static void main(String[] args) { // 获取男性对应代码及名称 Integer manCode = CustomSexEnum.man.getCode(); String manDesc = CustomSexEnum.man.getDesc(); System.out.println("manCode = " + manCode); System.out.println("manDesc = " + manDesc); // 获取女性对应的代码及名称 Integer womanCode = SexEnum.woman.getCode(); String womanDesc = SexEnum.woman.getDesc(); System.out.println("womanCode = " + womanCode); System.out.println("womanDesc = " + womanDesc); // 枚举就是一个对象 SexEnum man = SexEnum.man; System.out.println(man == SexEnum.man); } }
运行:
manCode = 1 manDesc = 男 womanCode = 2 womanDesc = 女 true
三、枚举实现接口
示例:
// 系统代码接口 public interface SystemCode { // 获取代码 Integer getCode(); // 获取代码描述 String getDesc(); }
// 系统代码接口实现类 public enum SystemCodeEnum implements SystemCode { ERROR(-1, "系统异常"), FAIL(0, "操作失败"), SUCCESS(1, "操作成功"); private Integer code; private String desc; SystemCodeEnum() { } SystemCodeEnum(Integer code, String desc) { this.code = code; this.desc = desc; } @Override public Integer getCode() { return this.code; } @Override public String getDesc() { return this.desc; } }
测试:
public class Test_02 { public static void main(String[] args) { SystemCode systemCode = SystemCodeEnum.SUCCESS; System.out.println("code = " + systemCode.getCode()); System.out.println("desc = " + systemCode.getDesc()); } }
运行:
code = 1 desc = 操作成功
这篇关于Java — 枚举的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程