【java】20:枚举
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) 枚举对象必须放在枚举类的行首 .
[ 看下源码定义 .]public abstract class Enum<E extends Enum<E>>implements Comparable<E>, Serializable {}

相关文章:
【java】20:枚举
枚举的二种实现方式 1) 自定义类实现枚举 2) 使用 enum 关键字实现枚举 自定义实现枚举: 1.不需要提供setXxx方法,因为枚举对象值通常为只读. 2.对枚举对象/属性使用final static共同修饰,实现底层优化. 3.枚举对象名通常使用全部大写&…...
★【二叉搜索树(中序遍历特性)】【 ★递归+双指针】Leetcode 98. 验证二叉搜索树
★【二叉搜索树(中序遍历特性)】【 ★递归双指针】Leetcode 98. 验证二叉搜索树 二叉搜索树 98. 验证二叉搜索树解法1 笨 中序递归遍历为一个数组 然后判断数组是不是升序排列就可以★解法2 不使用数组 递归法 ---------------🎈Ἰ…...
打造无缝滚动体验:JavaScript中的scrollIntoView()方法实战指南
在现代Web开发中,提升用户体验是至关重要的。通过JavaScript的scrollIntoView()方法,我们可以为用户创造出流畅而令人愉悦的滚动体验。本文将深入研究scrollIntoView()的强大功能,并结合实例演示如何在项目中巧妙应用,以打造出无缝…...
实战:如何将Oracle单实例数据库转换成Oracle RAC数据库
导读 本文介绍如何将Oracle单实例数据库转换成Oracle RAC数据库 环境说明: 数据库节点2上有个单实例数据库zlxdb2,现在要将zlxdb2转换成RAC数据库,RAC数据库的两个实例分别是lzydb1和lzydb2。 以下是详细的操作步骤: 1、查看zlxdb…...
基于华为atlas的分类模型实战
分类模型选用基于imagenet训练的MobileNetV3模型,分类类别为1000类。 pytorch模型导出为onnx: 修改mobilenetv3.py中网络结构,模型选用MobileNetV3_Small模型,网络输出节点增加softmax层,将原始的return self.linear4…...
编程语言:SQL Server数据库使用教程,SQL Server增删改查语句
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全自学教程》 SQL Server是微软提供的一种关系型数据库,…...
【tableau学习笔记】tableau无法连接数据源
【tableau学习笔记】tableau无法连接数据源 背景: 学校讲到Tableau,兴奋下载Kaggle Excel,一看后缀CSV,导入Tableau发现报错“tableau无法连接数据源”,自作聪明改为后缀XLSX,bug依旧。 省流:…...
cetos7 Docker 安装 gitlab
一、gitlab 简单介绍和安装要求 官方文档:https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介绍 gitLab 是一个用于代码仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的Web服务平台,通过该平…...
无极低码:无极低码部署版操作指南
无极低码 :https://wheart.cn 无极低码是一个面向开发者的工具,旨在为开发者、创业者或研发企业,提供快速,高效,标准化,可定制,私有化部署的平台,在兼顾开发速度的同时,兼…...
C语言实现日本某地发生了一件谋杀案
题目 猜凶手 题目内容: 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话&…...
【C++】const成员
个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. const成员3. 取地址及const取地址操作符重载 1. 前言 在之前已经已经分享过了关于 【C】类和对象之常引用与运算符重载,这次分享的有关const的内容,话不多说,正文开始。…...
利用小蜜蜂AI智能问答ChatGPT+AI高清绘图生成图文故事案例
利用小蜜蜂AI智能问答ChatGPTAI高清绘图生成图文故事案例 这段时间利用小蜜蜂AI网站做了一些编程、绘图以及数据分析方面的案例。再过几个月,我的大孙子就要出生了。我要用小蜜蜂AI智能问答和AI高清绘图为大孙子生成一个1-9的数字图文故事。 小蜜蜂AI网站可以扫如…...
Github项目推荐-LightMirrors
项目地址 https://github.com/NoCLin/LightMirrors 项目简述 “LightMirrors是一个开源的缓存镜像站服务,用于加速软件包下载和镜像拉取。目前支持DockerHub、PyPI、PyTorch、NPM等镜像缓存服务。 当前项目仍处于早期阶段。”–来自项目说明。 也就是说ÿ…...
day14:栈排序
问题描述: 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈…...
【LeetCode:2368. 受限条件下可到达节点的数目 + BFS】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记
1、概述 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装,主要实现数据流接收,设备指令控制。 2、系统要求 2.1、操作系统 Windows:Windows 10 (x64)(本文 针对windows)Linux: 18.04/20.04/22.04 (x64)Arm32:…...
YOLOV8介绍
原文链接: 1、 详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出 2、Yolov8的详解与实战 3、YOLOV8模型训练部署(实战)()有具体部署和训练实现代码YOLOV8模型训练部署(实战)&…...
【ElfBoard】基于 Linux 的智能家居小项目
大家好,我是 Hello阿尔法,这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动,并有幸成为了一名共创官,官方寄来了一块 ELF 1 开发板,开箱看这里 ELF 1 开箱初体验。 作为共创官,我…...
自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)
文章目录 一、自动化测试1、什么是自动化测试?2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…...
深度学习的一个完整过程通常包括以下几个步骤
深度学习的一个完整过程通常包括以下几个步骤: 问题定义和数据收集: 定义清晰的问题,明确任务的类型(分类、回归、聚类等)以及预期的输出。收集和整理用于训练和评估模型的数据集。确保数据集的质量,进行预…...
2027 报考浙大 MBA 不得不知道的细节规律~
五月下旬了,相信现在还有不少在职考生对报考选择仍然犹豫不决,出现这种情况原因无怪乎两种:一个是考生本身还没有彻底理清自己的报考想法,不确定自己究竟要不要攻读 MBA;另外一种是考生已经下定决心一定要考 MBA&#…...
手把手教你解锁影驰B360M主板隐藏的fTPM 2.0,绕过限制升级Win11(附BIOS修改避坑指南)
解锁影驰B360M主板fTPM 2.0的完整实战手册当Windows 11的升级提示弹出时,许多使用影驰B360M主板的用户发现自己的设备被系统要求拒之门外——原因很简单:主板BIOS中缺少必要的fTPM 2.0支持选项。这并非硬件不支持,而是厂商在固件层面隐藏了相…...
卡梅德生物技术快报|蛋白的过表达质粒构建与生信分析实验全流程复盘
从事分子生物学实验的科研从业者,在开展功能蛋白研究时,蛋白的过表达质粒构建与诱导表达是必备核心技能。实操过程中,很多人会忽略前期生信分析的重要性,盲目设计引物、构建载体,导致蛋白的过表达失败、蛋白无活性、纯…...
安卓高版本APP抓包实战:破解证书校验与NetworkSecurityConfig
1. 为什么高版本安卓APP抓包越来越像“拆弹”——从系统证书机制说起你有没有试过,把BurpSuite配好代理、雷电模拟器9开起来、APP一启动就报“网络连接异常”?或者更魔幻的:APP能打开,但所有接口请求在Burp里压根不出现࿰…...
【架构实战】解决长文本多轮对话中的“上下文腐化”问题:基于 Multi-Agent 的异步调度引擎设计
大家好,最近在研究 LLM 辅助编程和多角色对话时,我发现了一个非常头疼的问题:“上下文腐化”(Context Rot)。 当你在一个 Session 里塞入多个 System Prompt(比如试图让几个不同的 AI 角色在一个群里聊天&…...
esp开发与应用(1602液晶显示屏)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】模块当中,有的是比较简单的,比如说蜂鸣器,尤其是有源蜂鸣器。大家可以把它想象成是一个gpio输出的喇叭ÿ…...
美国RTP全系列材料:全面解析高性能导电塑料产品服务
宏裕塑胶代理美国RTP全系列材料,专注于为制造业企业提供高性价比、稳定可控的工程塑料原料供应及全流程技术支持,凭借源头直采优势与专业技术服务,助力客户降低采购成本、提升生产效率,适用于塑胶制品厂、精密注塑厂、汽车零部件厂…...
如何用Python脚本实现大麦网90%成功率的自动抢票:终极指南
如何用Python脚本实现大麦网90%成功率的自动抢票:终极指南 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 你是否曾经为了抢到心仪演唱会门票而守在电脑前疯狂刷新…...
哈夫曼树:高效压缩数据的秘密武器
引言在前面的树系列中,我们学习了二叉搜索树、AVL 树和红黑树——它们都是为了高效查找而设计的。今天要讲的哈夫曼树,目的完全不同:它是为了压缩数据而生。哈夫曼树(Huffman Tree),又称最优二叉树…...
Chrome抓包失败原因与Burp代理设置全解析
1. 这不是“装个插件就完事”的操作,而是理解代理本质的第一课很多人点开Burp Suite,双击启动,看到界面就以为“抓包开始了”——结果在谷歌浏览器里按F12,Network标签页刷半天,连个请求影子都看不到;或者点…...
