详解java枚举用法及实例

发布时间 - 2026-01-11 00:38:52    点击率:

一、枚举类型作为常量

package myenum; 
/** 
 * @author zzl 
 * 简单的枚举作为常量 
 */ 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println("color:"+c); 
    } 
  } 
} 
//输出 
/** 
color:GREEN 
color:RED 
color:YELLOW 
*/ 

其实在更近一步的话我们可以输出每个枚举实例的具体位置

package myenum; 
/** 
 * @author zzl 
 * 简单的枚举作为常量 
 */ 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println(c + " position "+c.ordinal()); 
    } 
  } 
} 
//输出结果 
/** 
GREEN position 0 
RED position 1 
YELLOW position 2 
*/  

二、与swith结合使用

public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    Color c = RED; 
    switch (c) { 
    case RED: 
      System.out.println("红色"); 
      break; 
    case GREEN: 
      System.out.println("绿色"); 
      break; 
    case YELLOW: 
      System.out.println("黄色"); 
      break; 
    default: 
      break; 
    } 
  } 
} 
//输出 
/** 
红色 
*/ 

从上面的例子可以看出枚举的多态性,其实可以讲Color作为枚举的超类,其中的实例在运行时表现出多态。(如上面的输出结果为红色,下面的例子来验证这一特性。)

三、多态性(在Color中添加抽象方法)

public enum Color { 
  GREEN{ 
    void description(){ 
      System.out.println("绿灯行!"); 
    } 
  },RED{ 
    void description(){ 
      System.out.println("红灯停!"); 
    } 
  },YELLOW{ 
    void description(){ 
      System.out.println("黄灯亮了等一等!"); 
    } 
  };//如果枚举中有方法则左后一个实例以“;”结束 
  abstract void description(); 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      c.description(); 
    } 
  } 
 
} 
<pre name="code" class="java">//输出 
/** 
绿灯行! 
红灯停! 
黄灯亮了等一等! 
*/ 

四、利用构造器为实例添加描述

public enum ColoStructure { 
  GREEN("绿色"),RED("红色"),YELLOW("黄色");//如果枚举中有方法则左后一个实例以“;”结束 
  public String description; 
  private ColoStructure(String des){ 
    this.description = des; 
  } 
  public static void main(String[] args) { 
    for (ColoStructure c : values()) { 
      System.out.println(c.description); 
    } 
  } 
} 
<pre name="code" class="java"><pre name="code" class="java">//输出 
/** 
绿色 
红色 
黄色 
*/ 

希望本文可以帮到有需要的朋友


# 详解java枚举用法及实例  # java枚举  # java枚举实例  # java 枚举类中的valueOf用法说明  # java 枚举enum的用法(与在switch中的用法)  # Java枚举的七种常见用法总结(必看)  # Java枚举详解及使用实例(涵盖了所有典型用法)  # 浅谈一下Java中枚举的用法  # 中有  # 这一  # 灯亮了  # 我们可以  # 表现出  # 可以看出  # 更近  # 多态  # args  # RED  # GREEN  # Color  # void  # static  # main  # String  # YELLOW  # java  # package  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何在万网自助建站平台快速创建网站?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel集合Collection怎么用_Laravel集合常用函数详解  JavaScript常见的五种数组去重的方式  iOS UIView常见属性方法小结  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在IIS7上新建站点并设置安全权限?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  大连网站制作公司哪家好一点,大连买房网站哪个好?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何在阿里云虚拟服务器快速搭建网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  LinuxCD持续部署教程_自动发布与回滚机制  如何在建站宝盒中设置产品搜索功能?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何在腾讯云服务器上快速搭建个人网站?  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  高防服务器租用如何选择配置与防御等级?  如何安全更换建站之星模板并保留数据?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何快速生成凡客建站的专业级图册?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何登录建站主机?访问步骤全解析  制作电商网页,电商供应链怎么做?  如何快速搭建安全的FTP站点?  Python并发异常传播_错误处理解析【教程】  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何快速完成中国万网建站详细流程?  Laravel观察者模式如何使用_Laravel Model Observer配置  浅述节点的创建及常见功能的实现  如何快速搭建高效简练网站?  Laravel怎么判断请求类型_Laravel Request isMethod用法  javascript中的try catch异常捕获机制用法分析  如何基于云服务器快速搭建个人网站?  微信小程序 配置文件详细介绍