首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java枚举类型enum用法(java定义枚举常量)

文章目录 枚举的使用 如何定义枚举 方式一:jdk5.0之前,自定义枚举 方式二:jdk5.0,可以使用enum关键字定义枚举 Enum的主要方法 toString() values() valueOf...(String objName) 使用enum关键字定义的枚举实现接口的 情况一:实现接口,在enum中实现抽象方法 情况二:让枚举的对象分别实现接口中的抽象方法 枚举的使用 枚举的理解:的对象只有有限个...我们称此类为枚举 当需要定义一组常量时,强烈建议使用枚举 如果枚举中只有一个对象,则可以作为单例模式的实现方式。...关键字定义枚举 使用 enum 定义的枚举默认继承了 java.lang.Enum,因此不能再继承其他 枚举的构造器只能使用 private 权限修饰符 枚举的所有实例必须在枚举中显式列出...列出的实例系统会自动添加 public static final 修饰 必须在枚举的第一行声明枚举对象 enum Season1 implements Info{ //1.提供当前枚举的对象

3.6K20

枚举类型enum用法(enum类型)

【1】什么是枚举? 实例(也叫对象)有限且固定不变的,在Java里被称为枚举。 例如,季节,它只有4个实例(春、夏、秋、冬),并且这4个实例不会改变。...Java5新增了enum 关键字(与calss、interface 关键字用法相同),用来定义枚举。 【2】为什么需要枚举?...【3】枚举的语法 (1) 枚举默认继承 java.lang.Enum ,而不是 Object ,因此枚举不能显示继承其他父。...【4】枚举的方法和用法 (1)JDK 1.5中switch对枚举的扩展 switch( )的控制表达式(即括号中的条件)可以是任何枚举类型;当switch控制表达式使用枚举类型时...(3)所有枚举都继承了 java.lang.Enum 抽象,所以枚举可以直接使用 java.lang.Enum 中所包含的方法 //java.lang.Enum package java.lang

2.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python枚举类型Enum用法

(Color.RED.value) print(Color.RED.name) 结果: 上面的代码创建了一个基本的枚举示例,与我们普通不同,它继承 Enum 这个。...Color.BLOCK=4 结果: 结果会报错 不存在 key 相同的枚举项(变量) 在枚举中存在相同的 key 值也是不允许的,比如下面代码有两个相同的 RED from enum...Key 都会当做别名 在枚举中,可以有相同值,但是后面的枚举项都是第一个的别名 from enum import Enum class Color(Enum): RED = 1 BLUE...如果你不想让枚举中有相同的 value 值,Enum 也提供了的相应的处理方法 from enum import Enum from enum import unique @unique class...除了通过继承 Enum 的方法创建枚举,还可以使用 Enum() 函数创建枚举 from enum import Enum #创建一个枚举 Color = Enum("Color",('red'

18810

重新认识java(十) —- Enum枚举

所以,枚举的出现,就是为了简化这种操作。 可以将枚举理解为是java的一种语法糖。...枚举用法 最简单的使用 最简单的枚举就像我们上面第一个定义的枚举一样: public enum Weekday { SUN,MON,TUS,WED,THU,FRI,SAT } 如何使用它呢?...学完了这些,大概枚举你也应该掌握了,但是,还有没有其他用法呢? 枚举中的抽象 如果我在枚举中定义一个抽象方法会怎么样? 你要知道,枚举不能继承其他,也不能被其他继承。...反编译出来的代码和我们一开始用静态变量自己写的那个出奇的相似! 而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个继承了java.lang.Enum!...如果你还是不太理解,那么你可以自己去反编译一下TrafficLamp这个,看看jvm是怎么处理它的就明白了。 枚举的其他用法 说一说枚举的其他用法

54820

Java枚举(Enum)和注解(Annotation)讲解

前言 本文主要讲解Java的其他两个重要的技术点:枚举(Enum)和注解(Annotation),这两个在平时开发中经常用于公共工程。...枚举是一种特殊的,用于定义一组常量(final variables)。通过使用enum关键字定义枚举,每个枚举常量都是枚举的一个实例,并且具有名称和值。...要自定义注解,需要创建一个接口或抽象,并使用@Target和@Retention注解来指定该注解可以用于哪些元素,并指定该注解在运行时是否可用 一、Java枚举Enum 1.自定义枚举...枚举是通过关键字enum来定义的,每个枚举常量都是枚举的一个实例,并且具有名称和值。...总结 Java枚举(Enum)和注解(Annotation)都是Java语言中重要的特性,它们提供了一种方便的方式来定义常量、提供元数据信息和实现各种功能。

56960

Java 枚举类型 enum

以下使用 JDK 版本为:1.8.0_121 枚举类型的引入 枚举类型是 Java 5 中增加的一个小特性,在此之前,实现枚举的方式为定义编译期常量形式。...枚举类型的使用 enum 关键字与常用的 class 关键字作用相似,用于完成对结构的定义,所以 enum 可以作为一种特殊的定义方式理解。...定义过程与 class 的定义过程基本相同,同样提供有属性和方法的定义,不同之处在于 enum 定义的默认继承了 Enum ,因为 Java 不允许多继承,所以使用 enum 定义的不能再继承其它...枚举类型的 switch 用法 枚举类型描述的是一个有限空间的元素集合,所以对元素的判断应该是常见的操作。枚举类型支持 switch 用法,所以避免了多个 if-else 判断的形式。...; } } } 输出为: second season 枚举中实现接口函数 枚举类型隐式继承了 Enum ,所以不能再继承其他,通过实现接口,可以将实现了同一个接口的多个枚举类型作为同一

1.2K32

深入理解Enum(枚举)

所以,枚举的出现,就是为了简化这种操作。 可以将枚举理解为是java的一种语法糖。...枚举用法 最简单的使用 最简单的枚举就像我们上面第一个定义的枚举一样: public enum Weekday { SUN,MON,TUS,WED,THU,FRI,SAT } 如何使用它呢...学完了这些,大概枚举你也应该掌握了,但是,还有没有其他用法呢? 枚举中的抽象 如果我在枚举中定义一个抽象方法会怎么样? 你要知道,枚举不能继承其他,也不能被其他继承。...反编译出来的代码和我们一开始用静态变量自己写的那个出奇的相似! 而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个继承了java.lang.Enum!...如果你还是不太理解,那么你可以自己去反编译一下TrafficLamp这个,看看jvm是怎么处理它的就明白了。 枚举的其他用法 说一说枚举的其他用法

53730

Java中的枚举Enum

Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办? Java中是这样解决的:定义一个私有的构造函数,然后在中new出对象来。...public enum Date { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; } 如果我要定义这样一个枚举,让它能够返回对应日期的中文怎么办...public enum Date { Sunday("星期天"), Monday("星期天"), Tuesday("星期天"), Wednesday("星期天"), Thursday( "星期天...中枚举的总结: 1.枚举也是一种特殊形式的Java 2.枚举中声明的每一个枚举值代表枚举的一个实例对象 3.与Java中普通一样,在声明枚举时,也可以声明属性、方法构造函数,但枚举的构造函数必须为私有的...4.枚举也可以实现接口,或继承抽象 5.若枚举只有一个枚举值,则可以当做单态设计模式使用 最后需要明确的是: Java中声明枚举,均是java.lang.Enum的子类,它继承了Enum

1.1K20

java 枚举(enum) 全面解读

简介 枚举Java1.5引入的新特性,通过关键字enum来定义枚举枚举是一种特殊,它和普通一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举不能继承其他....Enum接受一个继承自Enum的泛型.(在反编译java文件中没有体现泛型是因为,泛型在阶段就会被类型类型擦除,替换为具体的实现.)....:417) at Main.reflect(Main.java:24) at Main.main(Main.java:13) 枚举的特点总结 枚举实例必须在 enum关键字声明的中显式的指定...这里需要注意,枚举不能继承其他,因为在编译时它已经继承了 Enum,java无法多继承 // 实现Runnable接口,在这个中没有意义,只是为了举例 public enum Color implements...on Android 深入理解Java枚举类型(enum) Java 枚举会比静态常量更消耗内存吗 Should I strictly avoid using enums on Android?

69510

Java5 枚举(Enum)

Java中,被enum关键字修饰的类型就是枚举类型,此类继承了Enum,形式如下: public enum ColorEnum { RED, // 代表ColoeEnum的一个对象...枚举 在某些情况下,一个的对象是有限且固定的,如季节,它只有春夏秋冬4个对象这种实例有限且固定的,在 Java 中被称为枚举; 在 Java中使用enum关键字来定义枚举,其地位与 class...; 一个Java源文件中最多只能有一个public类型的枚举,且该Java源文件的名字也必须和该枚举名相同,这点和是相同的; 使用 enum 定义的枚举默认继承了 java.lang.Enum...,并实现了 java.lang.Seriablizable 和 java.lang.Comparable 两个接口; 所有的枚举值都是 public static final 的,且非抽象的枚举不能再派生子类...定义枚举 // 定义一个星期的枚举 public enum WeekEnum { // 在第一行显式地列出7个枚举实例(枚举值),系统会自动添加 public static final 修饰

1.1K31

enum 枚举

这节简单讲一下enum枚举的使用。...枚举是一组常量,用于规范程序的开发,请先设想一个情景:在一个分组开发中,有一个的属性是指人的性别,在没有一组规范的前提下,可能这个程序员会将性别值设置为:“男,女”,那个程序员会将性别值设置为:“male...为了解决这样的问题,微软提供了枚举,使用enum 定义一个枚举enum Gender { Male, Female } 开头我们说到枚举是一组常量,默认情况下,枚举是int...类型的,枚举元素的值是从0开始递增的,但是要想输出枚举元素的值,需要做一下强转,默认枚举元素的输出形式是string类型的,也就是将元素名进行输出: Console.WriteLine((int)Gender.Male...enum Gender { Male=5, Female//Female=6 } 默认情况,枚举是int,我们也可以更改它的默认类型: enum Gender:byte { Male

82120
领券