枚举类的总结

(JAVA): 自定义枚举和enum枚举类型------详解。 枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数 阅读详情

一、枚举类的使用

  • 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类
  • 2.当需要定义一组常量时,强烈建议使用枚举类

二、如何定义枚举类

  • 方式一:jdk5.0之前,自定义枚举类
//自定义枚举类
class Season{
    //1.声明Season对象的属性:private final修饰
    private final String seasonName;
    private final String seasonDesc;

    //2.私有化类的构造器,并给对象属性赋值
    private Season(String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }

    //3.提供当前枚举类的多个对象:public static final的
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    public static final Season AUTUMN = new Season("秋天","秋高气爽");
    public static final Season WINTER = new Season("冬天","冰天雪地");

    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }
    //4.其他诉求1:提供toString()
    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}
  • 方式二:jdk5.0,可以使用enum关键字定义枚举类
enum Season1 {
	 //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束
	SPRIGN("春天", "春暖花开"), 
	SUMMER("夏天", "夏日炎炎"), 
	AUTOUM("秋天", "秋高气爽"), 
	WINTER("冬天天", "冰天雪地");

	// 将属性定义成常量的时候 有三种赋值的方式 代码块赋值、构造器赋值、显式赋值 直接在属性后面定义好
	private final String seanNanme;
	private final String seanDec;

	// 私有化构造器 ,避免从外部直接去new对象
	private Season1(String seanNanme, String seanDec) {
		this.seanNanme = seanNanme;
		this.seanDec = seanDec;
	}
	//省略get方法

}

三、Enum类中的常用方法:

  • values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
  • valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。
  • toString():返回当前枚举类对象常量的名称
 public static void main(String[] args) {
        Season1 summer = Season1.SUMMER;
        //toString():返回枚举类对象的名称
        System.out.println(summer.toString());

//        System.out.println(Season1.class.getSuperclass());
        System.out.println("****************");
        //values():返回所有的枚举类对象构成的数组
        Season1[] values = Season1.values();
        for(int i = 0;i < values.length;i++){
            System.out.println(values[i]);
            values[i].show();
        }
        System.out.println("****************");
        Thread.State[] values1 = Thread.State.values();
        for (int i = 0; i < values1.length; i++) {
            System.out.println(values1[i]);
        }

        //valueOf(String objName):返回枚举类中对象名是objName的对象。
        Season1 winter = Season1.valueOf("WINTER");
        //如果没有objName的枚举类对象,则抛异常:IllegalArgumentException
//        Season1 winter = Season1.valueOf("WINTER1");
        System.out.println(winter);
       
    }

四、使用enum关键字定义的枚举类实现接口的情况

  • 情况一:实现接口,在enum类中实现抽象方法
  • 情况二:让枚举类的对象分别实现接口中的抽象方法
enum Season1 implements info{
	 //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束
	SPRIGN("春天", "春暖花开"){
		@Override
		public void show() {
			// TODO Auto-generated method stub
			System.out.println("春暖花开为你而来");
		}
	}, 
	SUMMER("夏天", "夏日炎炎"){
		@Override
		public void show() {
			// TODO Auto-generated method stub
			System.out.println("可乐要加冰,爱你要走心");
		}
	}, 
	AUTOUM("秋天", "秋高气爽"){
		@Override
		public void show() {
			// TODO Auto-generated method stub
			System.out.println("秋高气爽,适合敲代码 ");
		}
	}, 
	WINTER("冬天天", "冰天雪地"){
		@Override
		public void show() {
			// TODO Auto-generated method stub
			System.out.println("寒冬三月,超级适合睡懒觉");
		}
	};

	// 将属性定义成常量的时候 有三种赋值的方式 代码块赋值、构造器赋值、显式赋值 直接在属性后面定义好
	private final String seanNanme;
	private final String seanDec;

	// 私有化构造器 ,避免从外部直接去new对象
	private Season1(String seanNanme, String seanDec) {
		this.seanNanme = seanNanme;
		this.seanDec = seanDec;
	}

	@Override
	public void show() {
	System.out.println("这是一个季节");
		
	}
}

interface info{
	void show();
}
计算机视觉-全景图像拼接中的特征匹配与优化策略 本文深入探讨了计算机视觉中全景图像拼接的核心技术,重点解析了特征匹配后的关键优化策略。通过SIFT特征提取、RANSAC算法剔除误匹配,并结合APAP算法应对视差与鬼影问题,详细阐述了从基础对齐到无缝融合的完整流程,为开发者实现高质量全景拼接提供了实用指南。 阅读详情

相关推荐

实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测

本文深入解析Kasada最新版x-kpsdk-cd环境检测机制,提供动态请求拦截、本地替换和函数插桩等实战调试策略。通过Proxy保护破解、关键函数断点调试和环境检测对抗方案,帮助逆向工程师有效应对从280位扩展到294位的加密数组挑战,实现高效补环境调试。

weixin_29251567的博客 572

自定义枚举类

Integer.parseInt方法转换),分别代表星期一至星期日,打印该值对应的枚举值,然后以此枚举值调用printWeek方法输出中文星期。--简而言之:当确定一个类有几个对象,使用枚举。* 2.在TestWeek类中声明方法中printWeek(Week week),根。* 1.声明Week枚举类,其中包含星期一至星期日的定义;* 3.在main方法中从命令行接收一个1-7的整数(使用。优化:每个枚举类都去单独实现show方法。1、自定义枚举类(jdk1.5前)1、自定义枚举类(jdk1.5前)...

m0_54397364的博客 1024

CoppeliaSim(原V-REP)新手上路

CoppeliaSim(原V-REP)是一个机器人仿真平台,里面有很多来自别的公司的机器人模型以及完备的物理引擎,我们可以通过python,c++,matlab等语言控制里面的机器人。,您也可以在官网中Downloads里找您需要的版本,一般只需要下载EDU版本就可以了,我下载的是v4.1.0 windows EDU版本。在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。

qq_37051669的博客 4万+

定义枚举类

自定义枚举

weixin_49372978的博客 658

信息隐藏 数字图像空域隐写与分析技术的实现

【代码】信息隐藏 数字图像空域隐写与分析技术的实现。

Yungoal的博客 470

QGIS v3.28 高效加载OSM在线地图的三种实用方法

本文详细介绍了在QGIS v3.28中高效加载OSM在线地图的三种实用方法:通过XYZ Tiles直接连接、使用QuickMapServices插件以及配置WMS/WTMS服务。针对每种方法提供了具体操作步骤、常见问题解决方案和性能优化建议,帮助用户根据需求选择最适合的方案,提升GIS工作效率。

weixin_29233333的博客 434

【Java枚举类】使用enum关键词定义枚举类

3.枚举类的所有实例必须在枚举类中显式列出(, 分隔;1.使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类。1.提供当前枚举类的多个对象,多个对象之间用“,“隔开,末尾对象";2.声明Season对象的属性:private final修饰。2.枚举类的构造器只能使用 private 权限修饰符。4.必须在枚举类的第一行声明枚举类对象。3.私有化类的构造器,并给对象属性赋值。我们可以重写toString()的方法。下面,我们查看一下它的父类。

qq_64976935的博客 523

IDEA 2023最新破解教程:从安装到永久激活(附常见问题解决方案)

本文为Java开发者提供了一份详尽的IntelliJ IDEA 2023高效使用指南。内容涵盖从版本选择、安装配置到核心快捷键、项目依赖管理、高级调试测试以及插件生态的深度优化。旨在帮助用户在合法合规的前提下,充分发挥这款顶级IDE的潜力,显著提升Java开发效率与工作体验。

time3的博客 3387

自定义枚举类型(enum)

enum 枚举

changhuaiyou的博客 371

嵌入式Linux网络调试:YT8531/YT8521 PHY驱动移植与设备树配置避坑指南

本文深入解析嵌入式Linux系统中YT8531/YT8521 PHY驱动移植与设备树配置的关键技术,涵盖内核驱动适配、RGMII接口时序调整及常见问题排查。针对Motorcomm千兆以太网PHY芯片,提供详细的设备树配置示例和调试技巧,帮助开发者规避典型设计陷阱,确保网络功能稳定运行。

weixin_42525632的博客 676

【PyGIS】ERA5降雨蒸散发数据预处理

ERA5-LAND降雨蒸散发数据预处理

```On Earth, Be Water, By Coding``` 3145

枚举类——概述、常用方法、自定义枚举类、Enum创建枚举类

一、枚举类的概述 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式。 二、枚举类中的常用方法 values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。 valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。 toString

Guizy 1万+

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 428

Java——枚举类

enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY // 这里如果只是定义这些枚举常量的话,则这里不需要分号,// 如果后面还有其他成员,则需要分号实际上枚举类的构造器默认是私有的,如果你自己定义了一个构造器,没有加访问修饰符的话,就是默认 private 的。SPRING("温暖"),SUMMER("炎热"),AUTUMN("凉爽"),WINTER("寒冷");

Stewie Lee的博客 5878

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JAVA中的枚举类:如何定义枚举类+枚举类的使用+枚举类中常用方法的介绍+一个枚举类的示例

Java中的枚举类,什么是枚举类、如何定义枚举类、枚举类型在switch中的作用、枚举类中的方法、枚举类的构造器、枚举类可以有哪些成员、如何在枚举类中定义抽象方法、枚举类中的两个特殊的方法:values()和valueOf(),最后写了一个枚举类的小例子,进一步理解枚举类

a289246的博客 7447

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python:枚举类

python实际开发中,需要定义类型时,一般是使用一组整数或者字符串来表示。如果使用常规的定义方式,非常容易被外部修改,Python3.4后,增加了枚举类的使用,就是为了解决这种场景而设计的。python枚举适用场景:值有限且固定(不希望被轻易或随意修改)的数据类型。Java也有枚举类的使用,使用关键字enum实现,而python一般是通过提供的Enum类继承实现的(python类支持多继承,java为类单继承)。

a232884c的博客 2620

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【 java 枚举类】java 枚举类

当类的对象只有有限个,确定的,像四季,每周的天数,支付方式,订单状态等等,或者当需要定义一组常量时,强烈建议使用枚举类!

阿牛的博客 1791

枚举类

一 :什么是枚举类 在某些情况,一个类的对象是固定的,例如一年有12个月,一年有4个季节 ,在Java中 这些类被称为枚举类。 二:早期的枚举类实现形式: 三:Enum关键字 Java五新增了一个euum关键字(他的地位和class interface 关键字地位相同)用来定义枚举类,枚举类是一种特殊的类,他一样可以有自己的成员变量、方法;可以实现一个或多个接口,也可以定义自己的构造器 注意事项: 一个Java源文件中最多只能定义一个public访问权限的枚举类,且该Java原文件也必须

liuwenqing11的博客 1595

Java之枚举类

枚举类应用场景、属性特征、自定义枚举类、使用enum定义枚举类、主要方法、实现接口的枚举类

GoldenStar的博客 924

[Java]枚举类

枚举类:自定义枚举类,使用enum关键字定义枚举类,Enum类的常用方法,toString() Enum.valueOf() valueOf() values() name() ordinal() compareTo() equals() getDeclaringClass() hashCode() clone();使用enum关键字定义的枚举类实现接口,枚举类的对象分别实现接口的抽象方法,实现接口,在enum类中实现抽象方法

emmmm..... 1716

创建枚举类 java_Java枚举类

Java枚举类创建自定义枚举类public class Season {// 属性private final String seasonName;private final String seasonDesc;// 构造器私有化,外接不能调用这个构造器private Season(String seasonName, String seasonDesc) {this.seasonName = se...

weixin_42545664的博客 2351

java-枚举类的定义及使用

文章目录枚举类的定义jdk5.0之前定义枚举类jdk5.0之后定义枚举类使用enum关键字定义枚举类使用enum关键字定义的枚举类实现接口 枚举类的定义 关于枚举类 1 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2 当需要定义一组常量时,强烈建议使用枚类类 3 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0之后,可以使用enum关键字定义枚举类 jdk5.0之前定义枚举类 /** * jdk5.0之

记录学习点滴 8933

枚举类使用方法

枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式。 枚举类型的注意事项 1、定义枚举类型必须使用enum关键字,创建的其实也是一个普通的类。 2、所有的枚举项,必须定义在枚举类型的第一行(第一个分号之前),枚举项之间使用逗号分隔,最后一个枚举项之后需要使用分号结尾 3、枚举类型也有构造方法,只能默认提供空参构造,需要我们手动定义有参构造。在枚举类型中,所有的构造方法,

自律 2927

Java枚举类

Java枚举类 为什么引用枚举类 引入枚举类是为了在程序中更方便地定义一组相关的常量。枚举类可以将一组具有相同属性或类型的常量进行封装,使得代码更加清晰、易读,并能提高代码的可维护性和可扩展性。 使用枚举类的好处包括: 清晰明确:枚举类可以为常量赋予一个有意义的名字,使得代码的含义更加清晰明了。 类型安全:枚举类提供了类型安全的保证,避免了传入不合法的参数值。 可维护性:通过使用枚举类,可以集中管理相关的常量,当需要修改或添加新的常量时,只需在枚举类中进行修改即可。 可读性:使用枚举类可以使代码更加易读,

sheep55的博客 1285

JAVA 中的枚举类

JDK 1.5 新增了一个关键字 enum(它与 class、interface 关键字的地位相同),用来定义枚举类。枚举类是一种特殊的类,它同样可以有自己的成员方法、成员变量、构造器,同时还可用实现一个或者多个接口。对应普通的 Java类,一个源文件中只能够定义一个使用 public 修饰的类,同样的枚举类跟普通的 Java 类一样,一个 Java 一个源文件中也只能够定义一个使用 public 修饰的枚举类,且 Java 源文件名也必须和 public 修饰的枚举类的类名相同。

weixin_54851039的博客 1551

枚举类的使用

文章目录前言一、自定义枚举类二、使用enum定义枚举类1.Enum类的主要方法2.实现接口的枚举类 前言 1) 类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)、…、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)…Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡) 就职状态:Busy、Free、Vocation、Dimission 订单

qq_39816406的博客 2468
上一篇: java比较器的两种实现
下一篇: SpringBoot学习笔记(一)
·小脑斧·
博客等级 码龄7年 10粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值