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

【java】20:枚举

枚举的二种实现方式
1) 自定义类实现枚举 2) 使用 enum 关键字实现枚举
自定义实现枚举:
1.不需要提供setXxx方法,因为枚举对象值通常为只读.
2.对枚举对象/属性使用final+ static共同修饰,实现底层优化.
3.枚举对象名通常使用全部大写,常量的命名规范.
4.枚举对象根据需要,也可以有多个属性
package com.hspedu.enum_;
/**
* @author
* @version 1.0
*/
public class Enumeration02 {
public static void main(String[] args) {
System.out.println(Season.AUTUMN);
System.out.println(Season.SPRING);
}
}
//演示字定义枚举实现
class Season {//类
private String name;
private String desc;//描述
//定义了四个对象, 固定. public static final Season SPRING = new Season("春天", "温暖");
public static final Season WINTER = new Season("冬天", "寒冷");
public static final Season AUTUMN = new Season("秋天", "凉爽");
public static final Season SUMMER = new Season("夏天", "炎热");
//1. 将构造器私有化,目的防止 直接 new
//2. 去掉 setXxx 方法, 防止属性被修改
//3. 在 Season 内部,直接创建固定的对象
//4. 优化,可以加入 final 修饰符
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}

 enum 关键字实现枚举-快速入门:

package com.hspedu.enum_;
/**
* @author 
* @version 1.0
*/
public class Enumeration03 {
public static void main(String[] args) {
System.out.println(Season2.AUTUMN);
System.out.println(Season2.SUMMER);
}
}
//演示使用 enum 关键字来实现枚举类
enum Season2 {//类
//定义了四个对象, 固定. // public static final Season SPRING = new Season("春天", "温暖");
// public static final Season WINTER = new Season("冬天", "寒冷");
// public static final Season AUTUMN = new Season("秋天", "凉爽");
// public static final Season SUMMER = new Season("夏天", "炎热");
//如果使用了 enum 来实现枚举类
//1. 使用关键字 enum 替代 class
//2. public static final Season SPRING = new Season("春天", "温暖") 直接使用
// SPRING("春天", "温暖") 解读 常量名(实参列表)
//3. 如果有多个常量(对象), 使用 ,号间隔即可
//4. 如果使用 enum 来实现枚举,要求将定义常量对象,写在前面
//5. 如果我们使用的是无参构造器,创建常量对象,则可以省略 ()
SPRING("春天", "温暖"), WINTER("冬天", "寒冷"), AUTUMN("秋天", "凉爽"), SUMMER("夏天", "炎热")/*, What()*/;
private String name;
private String desc;//描述
private Season2() {//无参构造器
}
private Season2(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
1) 当我们使用 enum 关键字开发一个枚举类时,默认会继承 Enum , 而且是一个 final [ 如何证明 ], 老师使用 javap
具来演示
2) 传统的 public static final Season2 SPRING = new Season2(" 春天 ", " 温暖 "); 简化成 SPRING(" 春天 ", " 温暖 ") , 这里必
须知道,它调用的是哪个构造器 .
3) 如果使用无参构造器 创建 枚举对象,则实参列表和小括号都可以省略
4) 当有多个枚举对象时,使用 , 间隔,最后有一个分号结尾
5) 枚举对象必须放在枚举类的行首 .
enum 2 用方法说明:
说明:使用关键字 enum 时,会隐式继承 Enum , 这样我们就可以使用 Enum 类相关的方法
[ 看下源码定义 .]
public abstract class Enum<E extends Enum<E>>
implements Comparable<E>, Serializable {
}

 

相关文章:

【java】20:枚举

枚举的二种实现方式 1) 自定义类实现枚举 2) 使用 enum 关键字实现枚举 自定义实现枚举&#xff1a; 1.不需要提供setXxx方法&#xff0c;因为枚举对象值通常为只读. 2.对枚举对象/属性使用final static共同修饰&#xff0c;实现底层优化. 3.枚举对象名通常使用全部大写&…...

★【二叉搜索树(中序遍历特性)】【 ★递归+双指针】Leetcode 98. 验证二叉搜索树

★【二叉搜索树&#xff08;中序遍历特性&#xff09;】【 ★递归双指针】Leetcode 98. 验证二叉搜索树 二叉搜索树 98. 验证二叉搜索树解法1 笨 中序递归遍历为一个数组 然后判断数组是不是升序排列就可以★解法2 不使用数组 递归法 ---------------&#x1f388;&#x1f38…...

打造无缝滚动体验:JavaScript中的scrollIntoView()方法实战指南

在现代Web开发中&#xff0c;提升用户体验是至关重要的。通过JavaScript的scrollIntoView()方法&#xff0c;我们可以为用户创造出流畅而令人愉悦的滚动体验。本文将深入研究scrollIntoView()的强大功能&#xff0c;并结合实例演示如何在项目中巧妙应用&#xff0c;以打造出无缝…...

实战:如何将Oracle单实例数据库转换成Oracle RAC数据库

导读 本文介绍如何将Oracle单实例数据库转换成Oracle RAC数据库 环境说明&#xff1a; 数据库节点2上有个单实例数据库zlxdb2&#xff0c;现在要将zlxdb2转换成RAC数据库&#xff0c;RAC数据库的两个实例分别是lzydb1和lzydb2。 以下是详细的操作步骤&#xff1a; 1、查看zlxdb…...

基于华为atlas的分类模型实战

分类模型选用基于imagenet训练的MobileNetV3模型&#xff0c;分类类别为1000类。 pytorch模型导出为onnx&#xff1a; 修改mobilenetv3.py中网络结构&#xff0c;模型选用MobileNetV3_Small模型&#xff0c;网络输出节点增加softmax层&#xff0c;将原始的return self.linear4…...

编程语言:SQL Server数据库使用教程,SQL Server增删改查语句

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全自学教程》 SQL Server是微软提供的一种关系型数据库&#xff0c…...

【tableau学习笔记】tableau无法连接数据源

【tableau学习笔记】tableau无法连接数据源 背景&#xff1a; 学校讲到Tableau&#xff0c;兴奋下载Kaggle Excel&#xff0c;一看后缀CSV&#xff0c;导入Tableau发现报错“tableau无法连接数据源”&#xff0c;自作聪明改为后缀XLSX&#xff0c;bug依旧。 省流&#xff1a…...

cetos7 Docker 安装 gitlab

一、gitlab 简单介绍和安装要求 官方文档&#xff1a;https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介绍 gitLab 是一个用于代码仓库管理系统的开源项目&#xff0c;使用git作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务平台&#xff0c;通过该平…...

无极低码:无极低码部署版操作指南

无极低码 &#xff1a;https://wheart.cn 无极低码是一个面向开发者的工具&#xff0c;旨在为开发者、创业者或研发企业&#xff0c;提供快速&#xff0c;高效&#xff0c;标准化&#xff0c;可定制&#xff0c;私有化部署的平台&#xff0c;在兼顾开发速度的同时&#xff0c;兼…...

C语言实现日本某地发生了一件谋杀案

题目 猜凶手 题目内容&#xff1a; 日本某地发生了一件谋杀案&#xff0c;警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说&#xff1a;不是我。 B说&#xff1a;是C。 C说&#xff1a;是D。 D说&#xff1a;C在胡说 已知3个人说了真话&…...

【C++】const成员

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. const成员3. 取地址及const取地址操作符重载 1. 前言 在之前已经已经分享过了关于 【C】类和对象之常引用与运算符重载&#xff0c;这次分享的有关const的内容&#xff0c;话不多说&#xff0c;正文开始。…...

利用小蜜蜂AI智能问答ChatGPT+AI高清绘图生成图文故事案例

利用小蜜蜂AI智能问答ChatGPTAI高清绘图生成图文故事案例 这段时间利用小蜜蜂AI网站做了一些编程、绘图以及数据分析方面的案例。再过几个月&#xff0c;我的大孙子就要出生了。我要用小蜜蜂AI智能问答和AI高清绘图为大孙子生成一个1-9的数字图文故事。 小蜜蜂AI网站可以扫如…...

Github项目推荐-LightMirrors

项目地址 https://github.com/NoCLin/LightMirrors 项目简述 “LightMirrors是一个开源的缓存镜像站服务&#xff0c;用于加速软件包下载和镜像拉取。目前支持DockerHub、PyPI、PyTorch、NPM等镜像缓存服务。 当前项目仍处于早期阶段。”–来自项目说明。 也就是说&#xff…...

day14:栈排序

问题描述&#xff1a; 栈排序。 编写程序&#xff0c;对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据&#xff0c;但不得将元素复制到别的数据结构&#xff08;如数组&#xff09;中。该栈支持如下操作&#xff1a;push、pop、peek 和 isEmpty。当栈…...

【LeetCode:2368. 受限条件下可到达节点的数目 + BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记

1、概述 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装&#xff0c;主要实现数据流接收&#xff0c;设备指令控制。 2、系统要求 2.1、操作系统 Windows&#xff1a;Windows 10 (x64)&#xff08;本文 针对windows&#xff09;Linux: 18.04/20.04/22.04 (x64)Arm32:…...

YOLOV8介绍

原文链接&#xff1a; 1、 详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出 2、Yolov8的详解与实战 3、YOLOV8模型训练部署&#xff08;实战&#xff09;&#xff08;&#xff09;有具体部署和训练实现代码YOLOV8模型训练部署&#xff08;实战&#xff09;&…...

【ElfBoard】基于 Linux 的智能家居小项目

大家好&#xff0c;我是 Hello阿尔法&#xff0c;这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动&#xff0c;并有幸成为了一名共创官&#xff0c;官方寄来了一块 ELF 1 开发板&#xff0c;开箱看这里 ELF 1 开箱初体验。 作为共创官&#xff0c;我…...

自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

文章目录 一、自动化测试1、什么是自动化测试&#xff1f;2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…...

深度学习的一个完整过程通常包括以下几个步骤

深度学习的一个完整过程通常包括以下几个步骤&#xff1a; 问题定义和数据收集&#xff1a; 定义清晰的问题&#xff0c;明确任务的类型&#xff08;分类、回归、聚类等&#xff09;以及预期的输出。收集和整理用于训练和评估模型的数据集。确保数据集的质量&#xff0c;进行预…...

2027 报考浙大 MBA 不得不知道的细节规律~

五月下旬了&#xff0c;相信现在还有不少在职考生对报考选择仍然犹豫不决&#xff0c;出现这种情况原因无怪乎两种&#xff1a;一个是考生本身还没有彻底理清自己的报考想法&#xff0c;不确定自己究竟要不要攻读 MBA&#xff1b;另外一种是考生已经下定决心一定要考 MBA&#…...

手把手教你解锁影驰B360M主板隐藏的fTPM 2.0,绕过限制升级Win11(附BIOS修改避坑指南)

解锁影驰B360M主板fTPM 2.0的完整实战手册当Windows 11的升级提示弹出时&#xff0c;许多使用影驰B360M主板的用户发现自己的设备被系统要求拒之门外——原因很简单&#xff1a;主板BIOS中缺少必要的fTPM 2.0支持选项。这并非硬件不支持&#xff0c;而是厂商在固件层面隐藏了相…...

卡梅德生物技术快报|蛋白的过表达质粒构建与生信分析实验全流程复盘

从事分子生物学实验的科研从业者&#xff0c;在开展功能蛋白研究时&#xff0c;蛋白的过表达质粒构建与诱导表达是必备核心技能。实操过程中&#xff0c;很多人会忽略前期生信分析的重要性&#xff0c;盲目设计引物、构建载体&#xff0c;导致蛋白的过表达失败、蛋白无活性、纯…...

安卓高版本APP抓包实战:破解证书校验与NetworkSecurityConfig

1. 为什么高版本安卓APP抓包越来越像“拆弹”——从系统证书机制说起你有没有试过&#xff0c;把BurpSuite配好代理、雷电模拟器9开起来、APP一启动就报“网络连接异常”&#xff1f;或者更魔幻的&#xff1a;APP能打开&#xff0c;但所有接口请求在Burp里压根不出现&#xff0…...

【架构实战】解决长文本多轮对话中的“上下文腐化”问题:基于 Multi-Agent 的异步调度引擎设计

大家好&#xff0c;最近在研究 LLM 辅助编程和多角色对话时&#xff0c;我发现了一个非常头疼的问题&#xff1a;“上下文腐化”&#xff08;Context Rot&#xff09;。 当你在一个 Session 里塞入多个 System Prompt&#xff08;比如试图让几个不同的 AI 角色在一个群里聊天&…...

esp开发与应用(1602液晶显示屏)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】模块当中&#xff0c;有的是比较简单的&#xff0c;比如说蜂鸣器&#xff0c;尤其是有源蜂鸣器。大家可以把它想象成是一个gpio输出的喇叭&#xff…...

美国RTP全系列材料:全面解析高性能导电塑料产品服务

宏裕塑胶代理美国RTP全系列材料&#xff0c;专注于为制造业企业提供高性价比、稳定可控的工程塑料原料供应及全流程技术支持&#xff0c;凭借源头直采优势与专业技术服务&#xff0c;助力客户降低采购成本、提升生产效率&#xff0c;适用于塑胶制品厂、精密注塑厂、汽车零部件厂…...

如何用Python脚本实现大麦网90%成功率的自动抢票:终极指南

如何用Python脚本实现大麦网90%成功率的自动抢票&#xff1a;终极指南 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 你是否曾经为了抢到心仪演唱会门票而守在电脑前疯狂刷新…...

哈夫曼树:高效压缩数据的秘密武器

引言在前面的树系列中&#xff0c;我们学习了二叉搜索树、AVL 树和红黑树——它们都是为了高效查找而设计的。今天要讲的哈夫曼树&#xff0c;目的完全不同&#xff1a;它是为了压缩数据而生。哈夫曼树&#xff08;Huffman Tree&#xff09;&#xff0c;又称最优二叉树&#xf…...

Chrome抓包失败原因与Burp代理设置全解析

1. 这不是“装个插件就完事”的操作&#xff0c;而是理解代理本质的第一课很多人点开Burp Suite&#xff0c;双击启动&#xff0c;看到界面就以为“抓包开始了”——结果在谷歌浏览器里按F12&#xff0c;Network标签页刷半天&#xff0c;连个请求影子都看不到&#xff1b;或者点…...