深入理解Java枚举

一、什么是枚举

1.1 什么是枚举?

至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举,其实它们的意义很相似。

谈到生活中的枚举,假如我们在玩掷骰子的游戏,在我们手中有两个骰子,要求掷出两个骰子的点数和必须大于6的概率,那么在此情此景,我们就需要使用枚举法一一列举出骰子点数的所有可能,然后根据列举出来的可能,求出概率。

可能有的小伙伴发现,这就是数学啊?这就是数学中的概率学和统计学。对,我们的枚举法就是常用于概率统计中的。

1.2 Java中的枚举类

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug,方便很多场景使用。

二、Java枚举的语法

枚举类中的声明

enum 枚举名 {

class类中枚举的声明

class 类名{

enum 枚举名 {

三、Java枚举类的使用规则和应用场景

3.1 Java枚举类的使用规则

至于枚举你也有所了解了,Java中的枚举也是一样的。而Java中枚举类的使用,也有特定的规则和场景。如果你看了以下的规则不明白的话,没有关系,继续向下学你就会明白,因为我在下面都会有讲解到这些规则。如下几个规则:

类的对象是确定的有限个数。

当需要定义一组常量时,建议使用枚举。

如果枚举类中只有一个对象,则可以作为单例模式的实现方法。

枚举类不能被继承

java枚举 取值_秒懂系列,超详细Java枚举教程!!!相关推荐

  1. java+jtextfield+取值_[求助]JTextfield 取值问题!

    [求助]JTextfield 取值问题! 我用K取JTextfield中的值 可怎么就是得不到在JTextfield输入的值 K始终=0 (原来JTextfield的初值)请教各位 代码下面 大部分是 ...

  2. java方法返回值_如何高效率的学习Java函数返回值

    一.概述 函数返回处理值有两种方式,一种直接利用函数返回值返回:另一种通过输出参数返回,一般传入的值为引用或者指针. public Foo Function1(); // 函数返回值的形式 publi ...

  3. Java Byte取值范围

    Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢? #大学知识回顾: 概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ...

  4. Java Integer取值范围是多少呢?

    转自: Java Integer取值范围是多少呢? 下文笔者将使用实验的方式,讲述Integer类的取值范围,如下所示: Integer同int类型取值一致其取值范围是从-2147483648 至 2 ...

  5. 超详细Java安装教程

    超详细Java安装教程 一.Java JDK下载 二.环境变量配置 一.Java JDK下载 下载方式: 官网下载 下载地址: https://www.oracle.com/java/technolo ...

  6. 小米电视系统统计服务器,史上最全!小米电视4 各系列超详细对比

    原标题:史上最全!小米电视4 各系列超详细对比 小米电视作为智能电视的新秀,以优秀的品牌号召力.良好的口碑,当然免不了小米一直以来的价格攻势,逐渐成为电视领域的领头羊,目前市面上包含小米电视4.4A. ...

  7. win10时间不准_【装机教程】超详细WIN10系统安装教程,官方ISO直装与PE两种方法教程...

    P1:官方ISO镜像直装 超详细WIN10系统安装教程 P1https://www.zhihu.com/video/1186597662923718656 P2:微PE辅助安装 超详细WIN10系统安 ...

  8. ECharts实现数据可视化超详细基础入门教程

    ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...

  9. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

最新文章

  1. 【crunch bang】 tint2-用来控制桌面的布局
  2. Python基础教程:迭代和解析
  3. sql server java类型_使用基本 JDBC 数据类型 - SQL Server | Microsoft Docs
  4. ORACLE中科学计数法显示问题的解决
  5. Python学习入门2:Python学习路线(课程大纲+Python视频教程+下载地址)
  6. 全国计算机vb二级题型,全国计算机二级考VB机试常见题型汇总.doc
  7. 【转】马拉松式学习与技术人员的成长性
  8. open cv+C++错误及经验总结(十二)
  9. MediaCreationTool2004 U盘安装系统
  10. 32位 4G内存限制 linux,[操作系统]关于32位LINUX只支持4G内存的问题
  11. 计算机专业转ubc绩点,中国留学生申请加拿大名校,如何换算GPA成绩?
  12. 描述配置文件( .mobileconfig)
  13. C++面向对象特性之多态
  14. 海量数据去重的Hash与BloomFilter学习笔记
  15. RTC实时时钟(学习笔记)
  16. 五款堪称神器的网页翻译插件,不知道就亏大了!
  17. oracle ora-01403
  18. 为程序员精心定制的对联,有没有感觉中招
  19. html文件打开是什么意思,prn文件怎么打开?prn是什么意思?
  20. 汇智动力2021年度软件测试学员就业分析报告

热门文章

  1. SublimeREPL设置
  2. recycleView瀑布流
  3. 图片去雾怎么去除?这几个去雾方法值得你试试
  4. 关于c语言报错error C4996: ‘scanf‘: This function or variable may be unsafe.
  5. 用IP段区分境内外用户
  6. sparksql获取partitions信息(show partitions只能展示不能被条件调用)
  7. android RecyclerView 九宫格布局上下均分
  8. 前端将后端返回的富文本格式字符串转换成word下载
  9. 对策论(博弈论)基础
  10. c语言判断元旦是星期几,计算任何一天是星期几的C语言源代码.