当前位置: 首页 > article >正文

java小白日记31(枚举)

枚举对应英文(enumeration,简写enum)

枚举属于一种特殊的类,里面只包含一种有限的特定的对象

自定义枚举类

(1)不需要提供setXxx方法,因为枚举对象值通常为只读

(2)对枚举对象/属性使用final+static共同修饰(可以不用加载类)

(3)枚举对象名通常使用全部大写,常亮的命名规范

(4)枚举对象根据需要,也可以有多个属性

进行自定义类实现枚举,有如下特点

(1)构造器私有化

(2)本类内部创建一组对象

(3)对外暴露对象(通过为对象添加public final static修饰符)

(4)可以提供get方法,但不要提供set

使用enum来实现枚举类

(1)使用关键字enum 替换 class

(2)如图解读,常量名(实参列表)

(3)如果有多个常量(对象),使用逗号间隔

(4)如果使用enum来实现枚举,要求将常量对象写在前面

enum关键字实现枚举注意事项

(1)当我们使用enum关键字开发一个枚举类时,默认会继承Enum类,而且是一个final类

(2)如果使用无参构造器创建枚举对象,则实参列表和小括号都可以去掉

(3)当有多个枚举对象时,使用逗号间隔,最后一个后面用分号

(4)枚举对象必须放在枚举类的行首

enum常用方法

(1)toString:Enum类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息

(2)name:返回当前对象名(常量名),子类中不能重写

(3)ordinal:返回当前对象的位置号,默认从0开始

(4)values:返回当前枚举类的所有常量

(5)valueOf:将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常!

(6)compareTo:比较两个枚举常量,比较的就是编号!

enum实现接口

(1)使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum,而java是单继承机制

(2)枚举类和普通类一样,可以实现接口,如下形式:

enum  类名  implements  接口1  接口2  {}


http://www.kler.cn/a/523096.html

相关文章:

  • Java面试题2025-并发编程进阶(线程池和并发容器类)
  • 使用 Redis 实现分布式锁的基本思路
  • K8S 快速实战
  • decison tree 决策树
  • MySQL(单表访问)
  • 大数据学习之SCALA分布式语言三
  • 17 一个高并发的系统架构如何设计
  • DataWhale组队学习 leetCode task4
  • 【C++】STL介绍 + string类使用介绍 + 模拟实现string类
  • 【2024年华为OD机试】 (C卷,200分)- 矩阵匹配(JavaScriptJava PythonC/C++)
  • Python Matplotlib库:从入门到精通
  • 【PySide6拓展】QGroupBox 容器组
  • C#System.Threading.Timer定时器意外回收注意事项
  • 实践网络安全:常见威胁与应对策略详解
  • TortoiseSvn无法查看日志_TortoiseSvn查看日志为空_恢复Svn文件到指定版本---Svn工作笔记007
  • Docker——入门介绍
  • 代码随想录算法训练营第三十八天-动态规划-完全背包-279.完全平方数
  • Ceph:关于Ceph 中使用 RADOS 块设备提供块存储的一些笔记整理(12)
  • 寒假刷题Day17
  • 【福州市AOI小区面】shp数据学校大厦商场等占地范围面数据内容测评
  • WebForms SortedList 深度解析
  • 【洛谷】P1111 修复公路(学习记录)
  • LangGraph系列-1:用LangGraph构建简单聊天机器人
  • Python3 【正则表达式】水平考试:精选试题和答案
  • 汽车制造案例 | 搭建车间现场数字可视化管理方案(附解决模板)
  • VMware 和本机(Win10)安装共享文件