java 枚举深入理解

【Gin框架入门到精通系列01】Gin框架介绍与环境搭建 本文是Gin框架入门到精通系列的第一篇,系统介绍Gin框架的基本概念、核心特性以及环境搭建。无论你是Go语言新手还是有经验的开发者,都能通过本文快速掌握Gin框架的基础知识,创建并运行你的第一个Gin应用。 阅读详情

前面讲了下枚举,今天看公司以前一个项目,刚开始就来个枚举,看来不搞懂,没办法了,

先看实例一:


我定义了一个枚举,创建了一个私有的构造函数,报错了,报错日记:

Illegal modifier for the enum constant EnumDemo; no modifier is allowed

意思是说:非法的枚举常量修饰符EnumDemo;没有修饰符是被允许的,也就是说删除 修饰符private是可以的,但是我不要这么删除,还有什么好的办法,等下我会模拟此情况并解释为什么会报错

现在再写个枚举类

public enum EnumDemo {
a,b,c;
private EnumDemo(){
System.out.println("haha");
}
}

TestEnum.java

public class TestEnum {
public static void main(String[] args) {
System.out.println(EnumDemo.a);
}
}


打印结果:

haha
haha
haha
a


通过结果我们发现,我就是想打印a的值 按正常来讲就应该会打印一次haha结果它打印了三次,我们猜想枚举中定义了三个变量,是不是每一个变量都去调用一次构造函数,那么刚好和我们的结果是一致的,


因为没有源码可查,只好自己去摸索了,枚举的特点

1:函数一定是私有的,也就是说这个类不能再其他类中创建对象,

2:枚举中必需有常量,否则构造函数不能创建

3:枚举中可以有静态方法

4:枚举中可以有成员变量


下面通过例子演示:

public class EnumTest {
public static final EnumTest a = new EnumTest();
public static final EnumTest b = new EnumTest();
public static final EnumTest c = new EnumTest();
int num = 10;
private EnumTest(){
System.out.println("haha");
}
public static void print(){
System.out.println("枚举");
}
}


其中a,b,c就是模拟枚举的

一般在定义某一个常量的取值只能在规定的范围之内可以用枚举 最好





Qt+OpenGL+Cesium三件套:打造高性能3D GIS桌面应用的5个关键点 本文深入探讨了如何利用Qt、OpenGL和Cesium数据规范构建高性能桌面级3D GIS应用。文章聚焦于五个关键点:架构选型、OpenGL渲染优化、3D Tiles数据解析与调度、内存与多线程管理,以及高级特性实现,旨在帮助开发者在C++生态中打造不依赖网络、运算能力更强的重型3D地理信息客户端。 阅读详情

相关推荐

测试人必看!正交表与Allpairs工具对比:如何选择最适合你的组合测试方案?

本文深入对比了正交表、PICT与Allpairs三种主流组合测试方案,帮助测试人员根据项目场景做出最佳选择。文章分析了各自的核心原理、优劣势及适用场景,特别强调了在涉及复杂约束时PICT工具的强大功能,并提供了从原理学习到CI/CD集成的实战选型指南。

weixin_29224309的博客 267

JAVA | java: No enum constant javax.lang.model.element.Modifier.SEALED报错的解决方法

ava: No enum constant javax.lang.model.element.Modifier.SEALED报错的解决方法,特别简单。

m0_64449404的博客 7360

避坑指南:ZYNQ MPSOC QSPI固化时MT25QU256闪存的特殊配置

本文针对Xilinx ZYNQ UltraScale+ MPSoC平台,详细解析了使用Vitis工具将BOOT.bin固化至Micron MT25QU256ABA QSPI NOR Flash时的特殊配置与避坑指南。重点阐述了Init文件的真实作用、电压与频率的精确匹配策略,以及针对该闪存型号的初始化序列,帮助工程师解决烧录失败、启动异常等常见问题,确保系统可靠启动。

weixin_29175469的博客 270

Modifier ‘private‘ is redundant for enum constructors

为什么Java枚举构造函数必须是私有的? public or protected modifiers are not allowed with enum constructors. 枚举构造函数不允许使用public或protected修饰符。 原因 The constructor is meant to customize the creation of constants inside the enumeration once, not to create and initialize diffe

小汤圆 693

USB之ch376s数据手册

         最近师兄交给我一个项目,虽说刚学嵌入式起步,但上手一个项目怎说都是最好的快速学习方式。因为刚了解ch376s管理U盘的数据,所以先是看了ch376s的数据手册。那我就把数据手册直接放上来吧。。。。      1、概述 CH376 是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通...

iBGG的博客 6002

003:大疆智图新手入门:从下载安装到首次建模实战

本文为大疆智图新手提供从下载安装到首次三维建模的完整实战指南。详细介绍了软件安装的硬件要求、试用许可申请流程,并指导用户如何准备航拍数据或使用开源样例进行首次建模。通过分步操作演示与核心参数设置讲解,帮助初学者快速掌握使用大疆智图进行实景三维重建的核心流程与常见问题解决方案。

t8u9v0的博客 699

Java枚举全解

枚举 1.枚举的概述 ​  什么是枚举 ​  枚举的优点 ​  枚举的特点 2.枚举类的定义 3.java.lang.Enum ​  Enum简介 ​  Enum源码 ​  常用方法 4.枚举原理分析 ​  构造原理 ​  反编译枚举Class ​  反编译枚举常量Class 5.用例 ​  表示离散常量 ​  配合Swith 6.EnumMap ​  EnumMap简介 ​​   ⅠEnumM...

fadai 2380

手把手教你用CH582的USB0/1双接口玩转CherryUSB协议栈(附完整代码)

本文深入解析CH582双USB接口硬件架构,详细讲解如何通过CherryUSB协议栈实现双接口协同工作,包括中断处理设计、端点资源分配和复合设备描述符配置。提供HID+CDC复合设备实战案例,并分享高级调试技巧与性能优化方法,帮助开发者充分利用CH582的USB0/1双接口潜力。

weixin_42525637的博客 264

java.lang.IllegalArgumentException: No enum constant Enum(数据库 Integer 转换 Enum 异常)

项目场景: 整理移动class后,请求数据库数据异常 问题描述: Integer 转换 enum 异常 java.lang.IllegalArgumentException: No enum constant Enum 原因分析: enum类 没有被扫描到 解决方案: 一:修改yaml(我使用的是myBatis plus) 改成现在enum 的路径即可或者使用全路径 二:类型转换器 (通用) 相关基础知识可以上官网学习: 网址: 通用...

qq_45099061的博客 1万+

YOLO26改进策略【Neck】| CVPR 2024 MFM(Modulation Fusion Module,调制融合模块):动态特征加权融合,突出关键特征抑制冗余

本文主要利用DCMPNet中的 MFM 模块优化 YOLO26 的目标检测网络模型。模块通过动态调制特征融合过程,实现了对多尺度、跨层级特征的智能聚合。将其应用于的改进过程中,针对目标检测中边界特征与语义信息的互补性需求,缓解网络中浅层细节与深层语义融合不足的问题。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image Dehazing在图像去雾网络中,不同层级和类型的特征包含着互补的信息(如浅层的

Limiiiing的博客 221

自适应滤波-----LMS(Least Mean Square)算法

自适应滤波的意义所在 自适应滤波器解决非平稳的过程,因为实际信号的统计特性可能是非平稳的或者是未知的。 自适应滤波器的特点: 1.没有关于待提取信息的先验统计知识 2.直接利用观测数据依据某种判据在观测过程中不断递归更新 3.最优化 自适应滤波分类: 处理器的结构划分:横向结构、格型结构 重复一次计算自适应需要的数据划分:成批处理法、递归处理法 按调节算法...

heda3的博客 10万+

java修饰符

Modifiers:修饰符 Inside class:在同一个类中 The same package:在同一个包中 Subclass:在不同包的子类中(有继承关系) import 包.类; other:不在同一个包,也没有父子类关系的其它类 no modifier:没有修饰符 ...

fzq13994952987的博客 369

prplOS amx-fxgi调试-订阅subscribe

本文分析了prplOS中amx-fxgi订阅功能(subscribe)的实现与调试过程。通过梳理订阅流程发现,默认订阅失败主要由于acl规则限制导致。文章详细介绍了订阅的两个关键步骤:建立GET长连接和POST设置订阅路径,并通过修改代码绕过acl验证成功实现订阅功能。最终验证了在同一连接下订阅多个路径及实时接收状态更新的可行性,有效降低了设备查询负载。该方案为prplOS的实时数据监控提供了优化思路。

四儿家的小祖宗的博客 329

深入理解 Java 枚举

深入理解 Java 枚举 简介 enum 的全称为 enumeration, 是 JDK5 中引入的特性。 在 Java 中,被 enum 关键字修饰的类型就是枚举类型。形式如下: enum ColorEn { RED, GREEN, BLUE } 枚举的好处:可以将常量组织起来,统一进行管理。 枚举的典型应用场景:错误码、状态机等。 枚举的本质 java.lang.Enum类声明 public abstract class Enum<E extends Enum<E>>

云想的博客 182

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java 枚举_深入理解Java枚举

所有知识体系文章,[GitHub](https://github.com/Ziphtracks/JavaLearningmanual)已收录,欢迎Star!再次感谢,愿你早日进入大厂!https://github.com/Ziphtracks/JavaLearningmanual​github.com一、什么是枚举1.1 什么是枚举?至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举...

weixin_39836530的博客 93

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深入理解java枚举

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 1.定义枚举及应用场景 例如季节,只有春夏秋冬。如果你创建了一个season类,你当然有义务维护这个类的实例对象只能是春(SPRING)、夏(SUMMER)、秋...

qq_36617322的博客 253

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

深入理解Java枚举类型(enum)

详情见: 深入理解Java枚举类型(enum)

qq_35171483的博客 254

Java 深入理解枚举

什么是枚举 我们平时定义常量,是这么定义的 public class Days { public static final int MONDAY =1; public static final int TUESDAY=2; public static final int WEDNESDAY=3; public static final int THURSDA...

R.先森的博客 2389

一文带你深入理解【Java基础】· 枚举类

Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!!!如果小哥哥小姐姐们对我的文章感兴趣,请不要吝啬你们的小手,多多呀!❤❤❤爱你们!!!目录【往期回顾】1. 枚举类的使用1.1 主要内容如何自定义枚举类如何使用关键字enum定义枚举类Enum类的主要方法实现接口的枚举类1.2 枚举类的使用举例类的对象只有有限个,确定的。

麟-小白的博客 1972

枚举类的意义_深入理解Java枚举

所有知识体系文章,[GitHub](https://github.com/Ziphtracks/JavaLearningmanual)已收录,欢迎Star!再次感谢,愿你早日进入大厂!https://github.com/Ziphtracks/JavaLearningmanual​github.com一、什么是枚举1.1 什么是枚举?至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举...

weixin_39613540的博客 1429

Java枚举的深入理解以及案例演示

本文详细介绍了Java中的枚举的概念、原理以及案例演示,比如自定义枚举。

终生学习践行者 2580

Java - 深入理解 Java 枚举类型

深入理解 Java 枚举类型 转载自微信公众号: 后端开发那点事儿 枚举的使用 Java 中的枚举是一个比较特殊的类型,既具有 class 的特性,又具有自己特殊的特性。定义枚举类型使用 enum 关键字,枚举值一般使用大写字母,如下所示。使用枚举类型的 name() 方法可以获取字符串的名称,使用 ordinal() 方法可以获取枚举值的下标,这里不做赘述。 enum Se...

用时间去蜕变 696

java枚举类与成员变量的关系_深入理解枚举类

深入理解枚举最近刚学习完JVM相关知识,想到枚举既然这么异类,那就从字节码角度来分析一下它。有关枚举的讲解,很多博客已经很详细了,这里我们就从字节码的角度重新来认识一下它。枚举类是一种特殊的类,它可以有自己的成员变量,方法,可以实现一个或多个接口,也可也定义自己的构造器。1. 枚举类的继承结构:2. 枚举类和普通类的区别:(1)枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了jav...

weixin_33691489的博客 2648

深入理解 java 枚举类型

java 枚举类 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便。 枚举类型是Java 5中新增特性的一部分 枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。 声明枚举 声明枚举时必须使用 en...

weixin_44026997的博客 224
上一篇: java中Properties类
下一篇: List集合中定向加入到那几行
zhoushenxian
博客等级 码龄12年 453粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值