0050 Enum枚举类

news/2024/4/28 20:37:01/文章来源:https://blog.csdn.net/m0_72797089/article/details/127253527

 

 

 

 

 

 

 

 

 

 

 

/*  枚举是一种特殊的类,里面只包含一组有限的特定对象枚举的两种实现方式1.自定义类实现枚举2.使用enum关键字实现枚举自定义类实现枚举1.构造器私有化2.本类的内部创建一组对象[]3.对外暴露对象(为对象添加public final static修饰)4.提供get方法,但不用提供set细节1.不需要提供setXxx方法,因为枚举对象值通常为只读2.对枚举对象(属性)使用final + static共同修饰,实现底层优化3.枚举对象名通常全部大写(常量的命名规范)4.枚举对象根据需要,也可以有多个属性enum关键字实现枚举1.使用enum关键字替代class2.常量名(实参列表)public final static Season SPRING = new Season("春天","春暖花开");替换为 SPRING("春天","春暖花开")3.如果有多个常量,用,隔开4.枚举对象必须放在枚举类的首行细节1.当使用enum关键字开发一个枚举时,默认继承Enum类2.如果使用无参构造器创建枚举对象,实参列表和括号可以省略Enum类常用方法使用关键字enum时,会隐式继承Enum类,这时我们就可以使用Enum类相关的方法1.toStringEnum类重写了toString方法,返回当前对象名,子类可以重写toString方法来返回属性信息2.name返回当前对象名(常量名),子类不能重写3.ordinal返回当前对象的位置号,默认从0开始4.values返回当前枚举类中的所有常量5.valueOf将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常6.compareTo比较两个枚举常量的位置号enum实现接口1.使用enum关键字后就不能继承其他类了,因为enum会隐式继承Enum,而Java是单继承机制2.枚举类和普通类一样,可以实现接口enum 类名 implements 接口1,接口2{}*///  演示自定义类实现枚举
public class Enumeration {public static void main(String[] args) {System.out.println(Season.SPRING);System.out.println(Season.SUMMER);System.out.println(Season.AUTUMN);System.out.println(Season.WINTER);}
}class Season{private String name;private String feel;//属性private Season(String name, String feel) {//构造器私有化this.name = name;this.feel = feel;}public String getName() {//get方法return name;}public String getFeel() {return feel;}//定义四个对象public final static Season SPRING = new Season("春天","春暖花开");public final static Season SUMMER = new Season("夏天","烈日炎炎");public final static Season AUTUMN = new Season("秋天","秋高气爽");public final static Season WINTER = new Season("冬天","寒风刺骨");@Override//重写toStringpublic String toString() {return "Season{" +"name='" + name + '\'' +", feel='" + feel + '\'' +'}';}
}
//  演示enum关键字实现枚举
public class Enumeration02 {public static void main(String[] args) {System.out.println(Season02.SPRING);System.out.println(Season02.SUMMER);System.out.println(Season02.AUTUMN);System.out.println(Season02.WINTER);}
}enum Season02{SPRING("春天","春暖花开"),SUMMER("夏天","烈日炎炎"),AUTUMN("秋天","秋高气爽"),WINTER("冬天","寒风刺骨");private String name;private String feel;//属性Season02(String name, String feel) {//构造器this.name = name;this.feel = feel;}public String getName() {return name;}public String getFeel() {return feel;}@Overridepublic String toString() {return "Season02{" +"name='" + name + '\'' +", feel='" + feel + '\'' +'}';}
}//  演示Enum类各种方法的使用
public class Enumeration03 {public static void main(String[] args) {Season03 spring = Season03.SPRING;System.out.println(spring);System.out.println(spring.name());System.out.println(spring.ordinal());Season03[] values = Season03.values();for(Season03 season03 : values){System.out.println(season03);}Season03 value = Season03.valueOf("WINTER");System.out.println(value);System.out.println(spring.compareTo(value));//春天位置号为[0],冬天位置号为[3],0-3=-3}
}
enum Season03{SPRING("春天","春暖花开"),SUMMER("夏天","烈日炎炎"),AUTUMN("秋天","秋高气爽"),WINTER("冬天","寒风刺骨");private String name;private String feel;//属性Season03(String name, String feel) {//构造器this.name = name;this.feel = feel;}public String getName() {return name;}public String getFeel() {return feel;}@Overridepublic String toString() {return "Season02{" +"name='" + name + '\'' +", feel='" + feel + '\'' +'}';}
}
/*下列代码是否正确?表示什么含义?enum Gender{BOY,GIRL;}正确有一个枚举类Gender,没有属性有两个枚举对象BOY,GIRL,使用无参构造器创建*/
//  练习:声明Week枚举类,其中包含星期一到星期日,使用values返回所有数组的枚举数组,并遍历
public class EnumerationExe {public static void main(String[] args) {//获取所有枚举对象Week[] weeks = Week.values();//遍历,使用增强for循环for(Week week : weeks){System.out.println(week);}}
}
enum Week{MONDAY("星期一"),TUESDAY("星期二"),WEDNESDAY("星期三"),THURSDAY("星期四"),FRIDAY("星期五"),SATURDAY("星期六"),SUNDAY("星期日");private String name;private Week(String name) {this.name = name;}public String getName() {return name;}@Overridepublic String toString() {return name;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_398739.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三章 Flink基础理论之内存优化及常见内存报错解决方案

第三章 Flink基础理论之内存优化及常见内存报错解决方案 哇. 1、总体内存模型 1.1、内存模型概述 ​ Flink内存配置分为JobManager内存配置和TaskManager内存配置。 配置项TaskManager配置参数JobManager配置参数Total Flink Memorytaskmanager.memory.flink.sizejobmana…

土方量计算的准确作法

​现在说到土方量结算,绝大多数土木行业的人都说某某软件很方便,但是我要问到手算会吗,大多数人都会支支吾吾,虽然手算确实不现实,但是我们做为专业人员,总不能沦为软件使用者吧?其中的原理大家…

公众号网课题库系统-注册即可使用

公众号网课题库系统-注册即可使用 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转…

大数据专题-spark mysql python爬虫携程景点爬取(含虚拟机镜像)

博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域✌ 项目名称 大数据专题-spark mysql python爬虫携程景点爬取(含虚拟机镜像) 视频效果 大数据专题-spark mysql python爬虫携程景点系统说明 一&…

Vue组件之间的数据共享详解

目录前言一,props的作用二,父向子传值2.1 子元素2.2 父元素2.3 整体代码三,子向父传值3.1 子组件3.2 父组件3.3 整体代码四,兄弟之间的数据传递4.1 事件总线EventBus介绍(面试高频)4.2 传值方4.3 接收方后记前言 组件…

Servlet - Filtering (过滤器))

[TOC](Servlet - Filtering (过滤器) ) 1. What 1.1 什么是Filter Servlet过滤器Filter是一个小型的web组件,它们通过拦截请求和响应,以便查看、提取或以某种方式操作客户端和服务器之间交换的数据,实现“过滤”的功能。Filter通常封装了一…

深度神经网络的优化算法,进化算法优化神经网络

有哪些手段可以提升深度神经网络的泛化性能 人工神经网络以其智能性见长,那么神经网络能真的学到一个映射的本质吗?也就是说,对一个映射给出一定的必要的训练样本训练后,网络能否对样本以外的样本给出较为准确的预测。 泛化能力…

概率论与数理统计学习:随机向量(三)——知识总结与C语言实现案例

hello,大家好 这里是第八期概率论与数理统计的学习,我将用这篇博客去总结这期的知识点以及实现用C语言去做题的过程。 本期知识点: 条件分布 条件分布的概念离散型随机变量的条件概率分布连续型随机变量的条件概率密度 随机变量的独立性 那…

ROS学习笔记三(TF的类)

1.数据类型 数据类型定义在tf/transform_datatypes.h.里 1.1 基本数据类型(Quaternion, Vector, Point, Pose, Transform) TypetfQuaterniontf::QuaternionVectortf::Vector3Pointtf::PointPosetf::PoseTransformtf::Transform 1.2 tf::Stamped tf::Stamped在上面的数据类型…

RocketMQ 5.0:无状态代理模式的探索与实践

本文作者:金吉祥, Apache RocketMQ PMC Member,阿里云智能高级技术专家 背景 首先,让我们来看下是遇到了哪些痛点问题,促使我们去探索一种无状态代理的RocketMQ新架构的; RocketMQ 拥有一套极简的架构&am…

安卓投屏 QtScrcpy

一、电脑安装adb 版本大于1.0.40以上 40不行 adb 1.0.41下载链接 链接:https://pan.baidu.com/s/1WIPI-p7a4ErTLFYHaTC2kw?pwdadbt 提取码:adbt 安装参考 https://blog.csdn.net/M7_xbc/article/details/122957311 二、打开无线调试并且配对 手机打…

驱动开发(10/10-林雪阵)

终端输入1--->LED1点亮 终端输入2--->LED2点亮 终端输入3--->LED3点亮 终端输入0--->LED熄灭 chdev.c (底层驱动代码&#xff09; #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h>…

【webrtc】rtp 扩展头的ID

ietf 文档地址扩展头的uri 是固定的,因此识别扩展是通过uri地址,而非ID。rtp 扩展头是有个ID的 文档的说法 : 是本地的id,15保留,只可以小于15 本地标识符值 15 保留用于将来的扩展和 不得用作标识符。如果 ID 值 15 是 遇到,它的长度字段应该被忽略,处理 整个扩展应在该…

redis之AOF和RDB持久化

写在前面 因为redis数据是基于内存的&#xff0c;为了避免服务器重启或者是宕机导致数据全部丢失&#xff0c;提供了数据持久化机制&#xff0c;即AOF(Append Only File)日志和RDB快照&#xff0c;接下来我们分别看下。 1&#xff1a;AOF 1.1&#xff1a;AOF日志的实现 首先…

(附源码)计算机毕业设计SSM政府项目管理平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

回顾——PCB绘制

目录 一、原理图库原理图 二、PCB库 三、PCB 一、原理图库原理图 新建工程&#xff1a;文件——New——Project——Name&#xff08;这里复制一下&#xff09;自己选择保存路径 添加文件&#xff1a; 保存工程&#xff1a;(粘贴) 绘制原理图库、原理图 侧边栏消失&…

虚拟社会、区块链和元宇宙

1986年&#xff0c;早期的互联网供应商Quantum Link和娱乐公司Lucasfilm Games发布了第一款MMO游戏名为&#xff1a;《Habitat》基于虚拟角色的社交世界&#xff0c;玩家可以通过300波特的调制解调器(每分钟0.08美元)和用户的Commodore 64(595美元&#xff0c;按今天的价格约为…

Vue 动态换肤

效果如图&#xff1a; 源代码&#xff1a; <template><div :class"[son${temp}]" class"demo3">这是四点零八分的北京<br/>一片手的海浪翻动<br/>这是四点零八分的北京<br/>一声雄伟的汽笛长鸣<br/>北京车站高大的建…

Kafka监控EFAK(Kafka-eagle)部署与踩坑详细记录

环境 阿里云服务器centoskafka 2.4.1 &#xff08;1.1以上版本都能支持&#xff0c;低版本不太清楚了&#xff09;efak 3.0.1 当前时间官网下载的最新版&#xff08;原名叫kafka-eagle&#xff09;efak官网&#xff1a;http://www.kafka-eagle.org/jdk8 部署好的UI 部署流程 …

kafka系列——安装部署,相关命令,配置文件,底层存储结构,log和index文件

点击上方“罗晓胜”&#xff0c;马上关注&#xff0c;您的支持对我帮助很大 / 前言 / Kafka是最初由Linkedin公司开发&#xff0c;用scala语言编写的&#xff0c;是一个分布式、支持分区的&#xff08;partition&#xff09;、多副本的&#xff08;replica&#xff09;&…