首页 > 其他分享 >枚举类

枚举类

时间:2023-11-27 10:22:05浏览次数:26  
标签:定义 enum 枚举 使用 修饰 final

枚举类概述在某些情况下,一个类的对象是有限而且固定的,例如季节类。只能有四个对象
手动实现枚举类:
prvate修饰构造器
属性使用private final修饰
把该类的所有实例都使用public static final来修饰
使用enum定义枚举类
jdk1.5新增的enum关键字用于定义枚举类
枚举类和普通类的区别:
使用enum定义的枚举类默认继承了java.lang.enum类
枚举类的构造器只能使用private访问控制符
枚举类的所有类型必须在枚举类中显式列出(,分隔;结尾)列出的实例系统会自动增加public static final修饰
所有枚举类都提供了一个values方法,该方法可以很方便的遍历所有枚举类
jdk1.5中可以在switch表达式中使用枚举类的对象作为表达式,case子句可以直接使用枚举值的名字,无需添加枚举类作为限定
若枚举类只有一个成员,则可以作为一种单子模式的实现方式
实现接口的枚举类
和普通Java类一样,枚举类可以实现一个或多个接口
若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法
枚举类型的优势
枚举类声明提供了一种用户友好的变量定义方法,枚举类某种数据类型所有可能出现的值,具有
1.类型安全 2.紧凑有效的数据定义 3.可以和程序其他部分完美交互 4.运行效率高

标签:定义,enum,枚举,使用,修饰,final
From: https://www.cnblogs.com/ly123dcom/p/17858683.html

相关文章

  • (二十五)C#编程基础复习——enum枚举类型
    枚举类型(也可以成为“枚举器”)由一组具有独立标志服(名称)的整数类型常量构成,在C#枚举类型不仅可以在类或结构体的内部声明,也可以在类或结构体的外部声明,默认情况下枚举类型中成员的默认值是从0开始的,然后逐一递增。在使用枚举时要注意以下几点:枚举类型中不能定义方法;枚举类型具......
  • 6.1 Windows驱动开发:内核枚举SSDT表基址
    SSDT表(SystemServiceDescriptorTable)是Windows操作系统内核中的关键组成部分,负责存储系统服务调用的相关信息。具体而言,SSDT表包含了系统调用的函数地址以及其他与系统服务相关的信息。每个系统调用对应SSDT表中的一个表项,其中存储了相应系统服务的函数地址。SSDT表在64位和32......
  • 6.2 Windows驱动开发:内核枚举SSSDT表基址
    在Windows内核中,SSSDT(SystemServiceShadowDescriptorTable)是SSDT(SystemServiceDescriptorTable)的一种变种,其主要用途是提供Windows系统对系统服务调用的阴影拷贝。SSSDT表存储了系统调用的函数地址,类似于SSDT表,但在某些情况下,Windows系统会使用SSSDT表来对系统服务进行引导......
  • 枚举类型显式赋值的另一个例子
    enumDay{SUNDAY=-1,MONDAY=3,TUESDAY,WEDNESDAY=2,THURSDAY,FRIDAY,SATURDAY};这些类型的值分别是-1,3,4,2,3,4,5所以从一个显性赋值的变量开始一直到下一个显性赋值的变量结束,中间的变量依次递......
  • 根据值从枚举获取字符串名称
    内容来自DOChttps://q.houxu6.top/?s=根据值从枚举获取字符串名称我有一个如下所示的枚举构造:publicenumEnumDisplayStatus{None=1,Visible=2,Hidden=3,MarkedForDeletion=4}在我的数据库中,枚举被引用为值。我的问题是,如何将枚举的......
  • rust程序设计(6)枚举与模式匹配
    rust中的枚举有什么用?枚举可以嵌入类型的好处是什么你可以在同一个枚举中既有单个值,也有元组或结构体。枚举的每个变体可以拥有不同数量和类型的关联数据。这增加了类型的灵活性和表达力,使你能够更精确地建模你的数据。我知道rust可以为枚举创建方法,那在哪种场景下枚举会比......
  • C枚举类型
    ......
  • java-Junit 注解 枚举
    第15章_Junit_注解_枚举Junit单元测试引入【1】软件测试的目的:软件测试的目的是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 【2】测试分类:(1)黑盒测试:软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是......
  • 蓝桥杯之模拟与枚举day1
    Question1卡片(C/C++A组第一题)这个是一道简单的模拟枚举题目,只要把对应每次的i的各个位都提取出来,然后对应的卡片数目减去1即可。属于打卡题目。注意for循环的特殊使用即可#include<iostream>usingnamespacestd;boolsolve(inta[],intn){//模拟枚举while(n!=0)......
  • 枚举策略模式
    枚举策略模式将枚举和策略模式相结合,能使代码更加简洁。以下是消息推送相关的案例1、定义消息推送接口packagecom.bitzh.strategy;publicinterfaceMessagePushStrategy{voidpush(Stringcontent);}2、分别创建邮件推送、短信推送和企业微信推送三个类,实现消息......