news 2026/6/10 0:13:06

Java枚举(ENUM)零基础入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java枚举(ENUM)零基础入门指南

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个Java枚举学习示例,适合初学者理解。要求:1.最基本的枚举定义示例 2.枚举带属性和方法示例 3.枚举实现接口示例 4.枚举在switch语句中使用 5.枚举的单例模式实现。以星期枚举为例,包含Monday到Sunday,每个枚举值有中文名称和是否是工作日属性。提供详细注释和简单练习。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果

今天整理了一份Java枚举(ENUM)的学习笔记,特别适合刚接触这个概念的新手朋友。枚举在Java中是个非常实用的特性,能把相关的常量组织得更有条理,代码也会更清晰安全。

  1. 枚举的基本定义枚举最简单的形式就是列举一组固定的常量。比如我们用星期举例,可以这样定义一个包含周一到周日的枚举:
public enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }

这样就创建了一个Weekday枚举类型,包含7个枚举值。枚举值通常用大写字母表示,多个值之间用逗号分隔。

  1. 带属性和方法的枚举枚举不仅可以定义常量,还能给每个枚举值添加属性和方法。比如我们给每个星期几加上中文名称和工作日标记:
public enum Weekday { MONDAY("星期一", true), TUESDAY("星期二", true), //...其他星期几 SUNDAY("星期日", false); private String chineseName; private boolean isWorkday; // 构造方法 Weekday(String name, boolean isWorkday) { this.chineseName = name; this.isWorkday = isWorkday; } // getter方法 public String getChineseName() { return chineseName; } public boolean isWorkday() { return isWorkday; } }

这样每个枚举值就都带有中文名称和工作日状态了,可以通过getter方法获取这些属性。

  1. 枚举实现接口枚举还可以实现接口,让枚举类型具备更多行为。比如我们定义一个可打印的接口:
public interface Printable { void print(); } public enum Weekday implements Printable { //...枚举值定义 @Override public void print() { System.out.println(chineseName + (isWorkday ? "是工作日" : "是休息日")); } }

这样每个枚举值都能调用print()方法输出自己的信息。

  1. 枚举在switch中的使用枚举在switch语句中特别好用,能让代码更清晰:
Weekday today = Weekday.MONDAY; switch(today) { case MONDAY: System.out.println("周一例会"); break; case FRIDAY: System.out.println("周五总结"); break; //...其他case default: System.out.println("普通工作日"); }
  1. 枚举实现单例模式枚举是实现单例模式的最佳方式之一,既简单又线程安全:
public enum Singleton { INSTANCE; public void doSomething() { // 单例方法 } }

使用时直接通过Singleton.INSTANCE调用方法即可。

练习建议1. 尝试扩展Weekday枚举,添加一个返回下一天的方法 2. 实现一个枚举表示四季,每个季节有对应的月份范围和平均温度 3. 用枚举实现一个简单的状态机

在InsCode(快马)平台上实践这些例子特别方便,不需要配置任何环境,打开网页就能直接编写和运行Java代码。我试过他们的在线编辑器,响应很快,还能实时看到运行结果,对新手特别友好。

枚举是Java中一个既简单又强大的特性,掌握好它能让代码更优雅。刚开始可能会觉得有点抽象,但多写几个例子就能体会到它的便利了。建议从简单的星期枚举开始,逐步添加功能,慢慢就能理解枚举的各种用法了。

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个Java枚举学习示例,适合初学者理解。要求:1.最基本的枚举定义示例 2.枚举带属性和方法示例 3.枚举实现接口示例 4.枚举在switch语句中使用 5.枚举的单例模式实现。以星期枚举为例,包含Monday到Sunday,每个枚举值有中文名称和是否是工作日属性。提供详细注释和简单练习。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:44:45

Python3.10实战:构建高性能数据处理管道

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Python3.10的数据处理项目,使用match-case和类型提示优化数据处理流程。项目应包括数据清洗(处理缺失值和异常值)、数据转换&#xff0…

作者头像 李华
网站建设 2026/6/10 15:56:19

亲测好用8个一键生成论文工具,助研究生轻松搞定论文写作!

亲测好用8个一键生成论文工具,助研究生轻松搞定论文写作! 论文写作的救星,AI 工具如何改变研究生的科研生活 在当今学术研究日益繁重的背景下,研究生们常常面临论文写作的重重挑战。从选题到开题,从初稿撰写到反复修改…

作者头像 李华
网站建设 2026/6/10 13:33:16

24小时开发CHROME同步助手MVP:我的快速原型实践

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速开发一个CHROME同步助手的MVP版本,专注于核心同步功能。实现基本的书签同步功能,支持手动触发同步。提供简单的用户界面,显示同步状态和结果…

作者头像 李华
网站建设 2026/6/10 13:31:41

1小时搞定MPU6050平衡小车原型开发

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个简易平衡小车原型,要求:1. 使用MPU6050获取姿态数据;2. 实现PID控制算法;3. 通过PWM控制电机;4. 包含紧急停止功…

作者头像 李华
网站建设 2026/6/10 10:51:46

Python小白必看:5分钟搞定开发环境

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的Python环境安装向导,使用最简化的界面和语言。功能包括:1) 一键安装Python解释器 2) 自动设置PATH环境变量 3) 基础开发工具安装&…

作者头像 李华
网站建设 2026/6/10 10:53:14

电商系统接口测试实战:从0到1构建自动化测试套件

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商系统接口测试套件,包含:1.用户登录/注册测试 2.商品CRUD测试 3.购物车操作测试 4.订单创建/支付测试。要求:每个接口至少3个测试用…

作者头像 李华