学习笔记之枚举

【枚举的定义;枚举变量的定义、初始化和赋值】(学习笔记16--枚举) 目录枚举的定义枚举变量的定义枚举变量的初始化与赋值 使用枚举类型,可以提高程序代码的健壮性和可读性,并且枚举成员属于常量,甚至可以使用枚举成员名作为维的大小,来进行数组的定义 枚举的定义 定义枚举的格式为 enum 枚举名{枚举成员1,枚举成员2,...}; 下面来定义一个和方向相关的枚举类型Dir enum Dir{UP,DOWN,LEFT,RIGHT}; 枚举成员属于常量,默认情况下,枚举成员是一个整型值,其第一个枚举成员的值为0,而后续枚举成员的值为其前一个枚举成员的值加1 pri 阅读详情

------- android培训、java培训、期待与您交流! ----------

 

package fighting;
/**
 * 枚举就是一个类
 * 注意:枚举只有一个成员时,就可以作为一种单例的实现方式
 */
public class EnumDemo {

	public static void main(String[] args) {
		//枚举就相当于一个类,枚举的成员(元素)就相当于类的一个实例对象
		WeekDay weekDay11 = WeekDay.FRI;
		//枚举自动实现了toString方法,所以直接打印weekDay11会输出FRI
		System.out.println(weekDay11);
		//
		System.out.println(weekDay11.name());
		//排行
		System.out.println(weekDay11.ordinal());
		//枚举这个类的静态方法valueOf,通过传来的String对象,转换成WeekDay对象(即枚举元素),
		//这个方法掉用了WeekDay.valueOf("SUN").toString方法
		System.out.println(WeekDay.valueOf("SUN"));
		//枚举的values方法把所有元素转换成了数组
		System.out.println(WeekDay.values().length);
		
		TranfficLamp tranfficLamp =TranfficLamp.RED;
	}
	//带有构造方法的枚举
	public enum WeekDay{
		/**
		 * 注意:只要用到了枚举类,它里面的的静态变量就会被初始化
		 * 只要用到了类,它里面的静态代码就会执行
		 * 元素列表等效于静态成员变量,
		 * 所以一调用枚举,元素列表就会初始化,构造方法就会执行
		 * 
		 */
		//枚举的元素列表,必须位于所有成员之前。
		//如果元素列表之后有其他成员,列表的最后要加分号
		SUN(1),MON(),TUE,WED,THU,FRI,SAT;
		//枚举的构造方法必须是私有的,用private修饰
		//SUN(1)以外的元素都是调用第一个无参数的构造方法
		private WeekDay(){
			System.out.println("first");
		}
		//SUN(1)调用的第二个有参数的构造方法
		private WeekDay(int day){
			System.out.println("second");
		}
	}
	/**
	 * 内部类可以用4个访问修饰符,
	 * 外部类可以有2个访问修饰符:默认的和public
	 * 因为内部类与成员变量和成员方法是平级的,
	 * 所以成员变量和成员方法有什么,内部类就有什么
	 * 所以这里可以用public修饰
	 */
	//带有抽象方法的枚举
	public enum TranfficLamp{
		/**
		 * 每个元素是枚举类TranfficLamp的一个实例对象
		 * 现在因为是枚举类,肯定不能直接用TranfficLamp去new一个实例对象
		 * 
		 */
		/**
		 * RED是由TranfficLamp的子类来实例化的,不知道子类的名字,所以用匿名类
		 * 
		 * 编译这个枚举,会生成以下四个字节码文件
		 * EnumDemo$TranfficLamp.class
		 * EnumDemo$TranfficLamp$1.class
		 * EnumDemo$TranfficLamp$2.class
		 * EnumDemo$TranfficLamp$3.class
		 */
		/**
		 * 补一个知识点:
		 * new Date(){};这表示创建Date类的一个子类,
		 * 大括号里直接就可以写子类的代码,
		 * 这时,子类调用父类的无参构造方法;
		 * 如果希望子类调用父类的有参构造方法,可以使用new Date(300){};
		 * 
		 * 所以下面的RED(30){}代码,就相当于new子类的实例对象,
		 * 并且调用父类的有参构造方法,
		 * 使用的时候,用RED这个引用对象
		 */
		RED(30) {
			@Override
			public TranfficLamp nextLamp() {
				return GREEN;
			}
		},GREEN(45) {
			@Override
			public TranfficLamp nextLamp() {
				return YELLOW;
			}
		},YELLOW(5) {
			@Override
			public TranfficLamp nextLamp() {
				return RED;
			}
		};
		//这个方法的返回值还是自己的类型,并且这个方法 是抽象的,需要子类去实现这个方法
		public abstract TranfficLamp nextLamp();
		private int time;
		private TranfficLamp(int time){
			this.time = time;
		}
	}
	
	
}


 


 

枚举内核句柄表(Windows内核学习笔记) 前面我写过有关内核句柄表的一些知识,今天来在这里跟大家分享一下我自己写的内核枚举进程句柄方法。 #include"EnumProcessHandleTable.h" #ifdef _WIN64 #define _HANDLE_TABLE_ 0x200 //硬偏移Win7x64下的HANDLE_TABLE字段在EPROCESS下的偏移 #define _OFFSET_ ... 阅读详情

相关推荐

AI+医疗:多模态模型让肺结节诊断准确率突破95%+的实战方案

多模态融合是必由之路:单一影像模型难以突破95%准确率,必须整合临床、生物标志物等多维数据跨模态注意力机制是核心:简单拼接效果差,注意力机制能自动学习各模态权重,提升融合效果临床适配比技术先进更重要:模型输出必须符合医生诊断习惯,提供可解释的决策依据持续学习是长期成功的关键:医疗数据分布不断变化,模型必须具备自适应能力多学科协作是保障:放射科、胸外科、病理科、AI工程师共同参与模型设计与优化。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1022

【Java学习笔记】枚举

【Java学习笔记】枚举

在csdn分享更多技术知识,相互交流 1262

基于ESP32-P4的低成本旋转式激光雷达系统设计

激光雷达(LiDAR)作为机器人环境感知的核心传感器,其本质是融合光学测距、机电控制与实时数据处理的嵌入式系统。理解时间飞行(ToF)原理与机械旋转耦合机制,是实现高精度点云采集的基础;而系统级误差源——如计时抖动、电机惯性、信号串扰和温漂——直接决定实际建图鲁棒性。在资源受限场景下,选用RISC-V双核MCU(如ESP32-P4)可兼顾实时控制与网络服务能力,通过硬件时间戳捕获、S型加减速轨迹规划、旋转变压器供电及双Bank OTA等工程手段,有效平衡分辨率、帧率与稳定性。本文围绕360°旋转式激光雷达的

weixin_36231030的博客 430

【JavaSE】枚举和注解学习笔记

规定多选一数据类型的解决方案-枚举枚举的两种实现方式自定义实现枚举使用enum关键字实现枚举自定义类实现枚举不需要提供setXxx 方法,因为枚举对象值通常为只读.对枚举对象/属性使用 final + static 共同修饰,实现底层优化枚举对象名通常使用全部大写,常量的命名规范枚举对象根据需要,也可以有多个属性自定义类实现枚举小结小结:进行自定义类实现枚举,有如下特点:构造器私有化本类内部创建一组对象对外暴露对象(通过为对象添加public final static修饰符)

qq_24052051的博客 753

海康VisionMaster表面缺陷滤波实战:从参数调优到工业检测避坑指南

本文深入探讨海康VisionMaster表面缺陷滤波技术在工业检测中的应用,从参数调优到ROI绘制与Blob分析的协同策略,提供金属外壳、锂电池铝壳等复杂表面的缺陷检测实战指南。通过多级滤波架构和动态ROI生成法,显著提升检出率至98.7%,误检率低于0.5%,为工业质检提供智能化解决方案。

ujm5678901的博客 324

SRC漏洞挖掘实战指南:从零入门到月入过万的网络安全副业

网络安全的核心在于识别和修复系统缺陷,其中逻辑漏洞与信息泄露是常见的安全风险。其原理在于应用程序在业务逻辑设计或数据处理过程中存在缺陷,导致未授权访问或敏感数据暴露。掌握这些技术对于构建安全的应用体系至关重要,不仅能有效防范攻击,也为安全研究人员提供了将技术能力变现的合法途径。在漏洞赏金(Bug Bounty)和SRC(安全应急响应中心)等应用场景中,白帽子通过系统化的测试方法,挖掘此类漏洞,既能获得经济回报,又能积累宝贵的实战经验。本文聚焦于逻辑漏洞与信息泄露的实战挖掘技巧,为初学者提供清晰的入门路径和效

weixin_28568819的博客 346

Rust学习笔记_13——枚举

枚举通过enum关键字定义。每个枚举成员(也称为变体)可以是无值的,也可以包含值。

LuckyLay的博客 1106

国内开发者福音:手把手教你用微软Authenticator搞定GitHub 2FA验证(附Recovery Codes保存指南)

本文详细介绍了国内开发者如何使用微软Authenticator中国版轻松配置GitHub双重身份验证(2FA),解决短信验证不可用和国际验证器访问困难的问题。重点强调了恢复码(Recovery Codes)的安全备份策略,确保账户安全无忧。

weixin_28840143的博客 435

枚举 -- java学习笔记

本文章是通过学习B站视频韩顺平30天学java写的笔记 2022/2/20

蓝鸟x的博客 413

机器人外接 USB 音响完整配置指南

摘要:本文介绍了为机器人配置外接音响的方法。由于内置音响音量小且有散热噪音,建议使用Type-C接口外接音响。配置步骤包括:1)通过aplay -l命令查看音响端口信息;2)使用aplay命令测试音频播放;3)通过amixer命令设置音量。关键点在于正确识别音响的卡号(如card 2)和设备号(如device 0),并在命令中准确配置这些参数即可实现外接音响的正常使用。

m0_47999117的博客 356

【WRF理论第十九期】内陆湖泊、水体的处理方式

【WRF理论第十九期】内陆湖泊、水体的处理方式

WW、forever的博客 357

Rust 学习笔记:枚举与模式匹配

Rust 学习笔记:枚举与模式匹配

ProgramNovice的博客 1008

Git下载与安装

一、Git下载 二、Git安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 6万+

Java6学习笔记53——枚举类型(更新)

本文已搬家至【Java学习笔记】枚举类型

gnuhpc的专栏 1361

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

判断字段是否与枚举相同_Rust 学习笔记-14 枚举

Rust 学习笔记-14 枚举在Rust编程中,当我们必须从可能的列表值中选择一个值时,我们使用枚举数据类型。 使用enum关键字声明枚举类型。 以下是enum的语法:enum enum_name { variant1, variant2, variant3}使用枚举该示例声明一个枚举- GenderCategory,其变体形式为Male和Female。 print! 宏显示枚举的值。...

weixin_39965794的博客 969

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【算法竞赛学习笔记】基础算法篇:枚举

用方括号。

YZYZYYNO_2的博客 1016

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TS学习笔记四:函数及泛型枚举

本节介绍ts的函数及泛型的相关内容,包括函数的声明格式及泛型的相关知识

Java、前端、小程序学习笔记、问题汇总、项目实例分享,有需要请联系。 1347

Rust学习笔记_07——枚举和范围

Rust语言中的范围(Range)是一种用于生成数字序列或进行迭代操作的表达式。Rust提供了两种主要类型的范围:半开区间范围(half-open range)和步长范围(range with step)。这些范围在for循环和其他上下文中都非常有用。

LuckyLay的博客 1124

C++学习笔记 | (七)枚举

首先明确枚举也是一种数据类型。枚举是一种创建常量的方法。枚举类型简称枚举,枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。枚举定义的语法enum 枚举名 {枚举量 1 , 枚举量 2 , . . . , 枚举量n };//定义枚举类型color_set1注:这条语句完成了两项工作:1.让color_set1成了一种新的枚举类型的名称,可以用它创建枚举变量。

qq_48269338的博客 323

初学者关于联合和枚举的学习笔记

当我们需要描述几件有共同属性的事务的信息时,可以考虑使用联合体来节省空间。综上可知,联合体中的成员不可同时使用,因为是同一块内存,内容会覆盖。存在空间浪费,如图书就不需要design,colors,sizes。每⼀种商品都有:库存量、价格、商品类型和商品类型相关的。不是最大对齐度的整数倍,就要对齐到最大对齐数的整数倍。定义的符号(将它替换成对应的常数值,没法监视){ }中的内容是枚举类型的可能取值,也叫。的,枚举声明在函数内,只能在函数内使⽤。有三种商品:图书、杯⼦、衬衫。开始,依次递增,也可以。

近津薪荼的博客 511

JAVA学习笔记——第十一章 枚举和注解

JAVA学习笔记——第十一章 枚举和注解,包括面向对象高级的作业+枚举和注解,干货满满,这一章枚举是重点,注解主要是了解基本的几个和元注解即可

showy0的博客 1419

Java 枚举学习笔记

访问修饰符] enum 枚举类名 {枚举值1, 枚举值2, ..., 枚举值N;SUCCESS(200, "成功"),ILLEGAL_ARGUMENT(401, "无效参数"),NEED_LOGIN(403, "权限不够"),ERROR(500, "服务器错误");枚举是一种强大的数据类型,用于表示一组固定的常量。枚举提供了类型安全、代码简洁和可读性高的优势。通过为枚举添加方法和字段,可以实现更复杂的功能。

2301_78498098的博客 425

C#学习笔记:获取枚举中各成员的名字

参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安)P102 学习目的:定义一个week枚举变量,获取其中各成员的名字 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespa...

qq_41708281的博客 914

枚举学习笔记

枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。 用普通类实现枚举功能: 私有的构造方法; 每个元素分别用一个公有的静态成员变量表示; 可以有若干个公用方法或抽象方法。采用抽象方法定义nextLight就将大量的if.else语句转移成了一个个独立的类。

lpf870826的专栏 323

枚举的学习笔记

枚举: enum 和Enum的区别: 使用enum关键字定义的枚举类,本质上就相当于一个class定义的类,继承了java.lang.Enum的父类; 构造方法:protect Enum(String name, int ordinal) 取得枚举名字: public final String name(); 取得枚举的序号:public final int ordinal(); pu

qq_38767992的博客 271

THM学习笔记——枚举

枚举

jiangyu0_0的博客 1218
上一篇: Java动态代理一——动态类Proxy的使用
下一篇: 黑马程序员之交通灯管理系统
wangpanbaoding
博客等级 码龄18年 42粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值