枚举(Java)

一、概念

枚举是一种特殊的类。

格式:

修饰符  enum  枚举类名{

       对象名称1,对象名称2,....;

       其他成员...

}

二、枚举类的特点

1.枚举类的第一行只能罗列一些名称,并且这些名称都是常量,每个常量记住一个枚举类对象

2.枚举类的构造器都是私有的,所以枚举类对外不能创建对象

3.枚举都是最终类,不可以被继承

4.枚举类中,从第二行开始,可以定义类的其他各种成员

        //枚举类提供一些额外的API
        A[] as = A.values(); //拿到所有对象放在一个数组中
        a1.getName(); // 拿名字
        A a3 = A.valueOf("X"); // 给一个字符串,返回一个对象
        a3.ordinal();//索引

三、抽象枚举

public enum B {
//    X, Y, Z;//不能直接写因为不能直接构建对象
    X(){
        @Override
        public void test(){}
},  //如此构建对象
    Y("六六"){
        @Override
        public void test(){
            System.out.println(getName());
        }        
    };
    public String getName() {
        return name;
    }

    B(String name) {
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

    B() {
    }
    private String name;
    public abstract void test();
}

四、枚举的应用场景

用来表示一组信息,然后作为参数传输,进行信息的分类和标志

硬编码不好:

优化(使用常量):

优化(枚举):

都不用带前缀,带前缀会报错

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

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

相关文章

【Java程序设计】【C00247】基于Springboot的农机电招平台(有论文)

基于Springboot的农机电招平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的农机电招平台 本系统分为系统功能模块、管理员功能模块、农机机主功能模块以及使用者功能模块。 系统功能模块:农机电招…

ubuntu离线安装k8s

目录 一、前期准备 二、安装前配置 三、安装docker 四、安装cri-dockerd 五、部署k8s master节点 六、整合kubectl与cri-dockerd 七、网络等插件安装 八、常见问题及解决方法 一、前期准备 ①ubuntu系统 本地已安装ubuntu系统,lsb_release -a命令查看版本信…

【数据结构】排序---C语言版

七大排序算法 一、对于排序的分类:二、插入排序1、直接插入排序(1)基本思想:(2)直接插入排序:(3)代码实现:(4)总结: 2、希…

2024机械工程师面试题

1.常用的机械画图软件有哪些 SolidWorks、Pro/e、CATIA、UG、Creo、CAD、inventor。CAXA电子图板. 2.第一视角是___,第三视角是___; 只要区别是:物体所处的位置不同。一般中国都使用第一视角的。 3.气缸属于_____执行元件,电磁…

AIGC技术讲解以及应用的落地

简介 近期,火爆的“AI绘画”、图片转AI图,智能聊天软件ChatGPT,引起了人们广泛关注。人工智能潜力再次被证明,而这三个概念均来自同一个领域:AIGC。AIGC到底是什么?为什么如此引人关注?AIGC能产…

关系型数据库的介绍与历史(History of DataBase)

昨晚和大家聊到 数据库(DataBase 简称DB)简单概述 ,今天简单和大家聊聊 关系型数据库(关系数据库) 的历史,它是以关系模型(Relational Model)来构建的数据存储系统。 关系数据库有个…

C/C++内存管理的底层调用逻辑

✨Blog:🥰不会敲代码的小张:)🥰 🉑推荐专栏:C语言🤪、Cpp😶‍🌫️、数据结构初阶💀 💽座右铭:“記住,每一天都是一個新的開始&#x1…

10_机械臂运动学_机械臂C++逆解——2023

就是算! 遨博机械臂改进DH参数表: 机械臂正运动学连杆变换通式: 其中si代表sin(θi),ci代表cos(θi) sij代表sin(θi-θj),cij代表cos(θi-θj) sijk代表sin(θi-θjθk),cijk代表cos(θi-θj-θk),用两角和差公式直接展开即可. 每…

如何获取气象数据

问题 如何获取气象数据 详细问题 笔者使用NOAA获取部分气象数据,但是涉及字段有限,如何获取更丰富的气象数据,譬如包括太阳辐射、温度、湿度、云覆盖等信息呢? 解决方案 步骤1、访问https://power.larc.nasa.gov/data-access…

财务数据处理问题及解决方案分享

一、平台介绍 财务自营计费主要承接京东自营数据在整个供应链中由C端转B端的功能实现,在整个供应链中属于靠后的阶段了,系统主要功能是计费和向B端的汇总。 二、问题描述 近年来自营计费数据量大增,有百亿的数据量,一天中汇总占…

【Linux】信号-下

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻信号递达,信号未决&#x…

软考20-上午题-串及其模式匹配

串(字符串)是一种特殊的线性表,其数据元素为字符。如:"abc"。 一、串的定义 由字符构成的有限序列,是一种线性表。 串的比较:以字符的ASCII值作为依据。比较操作从两个字符串的第一个字符开始&a…

Openresty+Lua+Redis实现高性能缓存

一、背景 当我们的程序需要提供较高的并发访问时,往往需要在程序中引入缓存技术,通常都是使用Redis作为缓存,但是要再更进一步提升性能的话,就需要尽可能的减少请求的链路长度,比如可以将访问Redis缓存从Tomcat服务器…

4. 树(二叉树、二叉查找树/二叉排序树/二叉搜索树、平衡二叉树、平衡二叉B树/红黑树)

树 1. 二叉树1.1 概述1.2 特点1.3 二叉树遍历方式1.3.1 前序遍历(先序遍历)1.3.2 中序遍历1.3.3 后序遍历1.3.4 层序遍历 2. 二叉查找树(二叉排序树、二叉搜索树)2.1 概述2.2 特点 3. 平衡二叉树3.1 概述3.2 特点3.3 旋转3.3.1 左旋3.3.2 右旋 3.4 平衡二…

Quartus IP 之mif与hex文件创建与使用

一、mif与hex概述 ROM IP的数据需要满足断电不丢失的要求,ROM IP数据的文件格式一般有三种文件格式:.mif、.hex、.coe,Xilinx与Intel Altera支持的ROM IP数据文件格式如下: Xilinx与Altera支持的ROM文件格式 Alterahex、mifAM&am…

JS第二天、原型、原型链、正则

☆☆☆☆ 什么是原型? 构造函数的prototype 就是原型 专门保存所有子对象共有属性和方法的对象一个对象的原型就是它的构造函数的prototype属性的值。prototype是哪来的?所有的函数都有一个prototype属性当函数被创建的时候,prototype属性…

项目02《游戏-08-开发》Unity3D

基于 项目02《游戏-07-开发》Unity3D , 本次任务做物品相互与详情的功能, 首先要做 点击相应, 接下来用接口实现点击相应事件,具体到代码中,我们找到需要响应鼠标事件的对象, 双击PackageCell…

食堂预约系统

文章目录 前言​部分沟通内容技术点小程序功能部分代码段功能图 商家管理系统功能说明功能图登录页面商家管理页面 食品管理订单管理其他功能 结束语 前言​ 最近,接了个小项目——学校食堂预约取餐系统。 具体需求如下图: 部分沟通内容 技术点 系统…

C++:模板初阶

泛型编程 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。 函数模板 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。…

百面嵌入式专栏(面试题)网络编程面试题

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍网络编程面试题 。 1、什么是IO多路复用 I/O多路复用的本质是使用select,poll或者epoll函数,挂起进程,当一个或者多个I/O事件发生之后,将控制返回给用户进程。以服务器编程为例,传统的多进程(多线程…