文章目录 枚举类的使用 如何定义枚举类 方式一: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.提供当前枚举类的对象
【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
JKD1.5之后使用 Java 枚举类型 enum 可以更贴近地表示这种常量。...2、枚举的定义 2.1 简单枚举定义 GenderEnum 性别枚举 /* 性别枚举 */ public enum GenderEnum { //定义枚举类型的变量(所有定义的变量都是当前枚举类型的实例名...enum UserStatusEnum { //带参数枚举类型 STATUS_NORMAL("0","正常"), STATUS_LOCK("1","锁定"), STATUS_OFF...public String getStatusMsg() { return statusMsg; } //一般,在枚举类中,要提供一个静态的普通方法,当你不知道枚举的定义...System.out.println(UserStatusEnum.getMegsByCode("0")); //正常 } } 3、Switch选择结构支持的类型 byte char short int Enum
Java枚举(enum)七种常见的用法汇总如下: JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。...:实现接口 所有的枚举都继承自java.lang.Enum类。...由于Java 不支持多继承,所以枚举对象不能再继承其他类。...创建enum时,编译器会为你生成一个相关的类,这个类继承自 java.lang.Enum。...因为 enum 实际上都继承自 java.lang.Enum 类,而 Java 不支持多重继承,所以 enum 不能再继承其他类,当然也不能继承另一个 enum。
public enum ConsultTimeEnum { TODAY("本日"), THIS_WEEK("本周"), BEFORE_LAST_WEEK("上周以前")
(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'
枚举例子 2. 接口的实现 3. 枚举中定义抽象方法 enum 定义了枚举类型,其继承于 Enum 枚举类 1....枚举例子 import java.util.EnumMap; import java.util.EnumSet; import java.util.Iterator; import java.util.Map...; class EnumDemo { public enum Color{ RED, GREEN, BLUE } public static void main...System.out.println(iter.next()); } // RED // GREEN // BLUE } } enum...枚举中定义抽象方法 每个元素都要实现抽象方法 enum Color { RED{ public String getColor(){ return "红色
所以,枚举类的出现,就是为了简化这种操作。 可以将枚举类理解为是java的一种语法糖。...枚举类的用法 最简单的使用 最简单的枚举类就像我们上面第一个定义的枚举类一样: public enum Weekday { SUN,MON,TUS,WED,THU,FRI,SAT } 如何使用它呢?...学完了这些,大概枚举类你也应该掌握了,但是,还有没有其他用法呢? 枚举类中的抽象类 如果我在枚举类中定义一个抽象方法会怎么样? 你要知道,枚举类不能继承其他类,也不能被其他类继承。...反编译出来的代码和我们一开始用静态变量自己写的那个类出奇的相似! 而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个类继承了java.lang.Enum类!...如果你还是不太理解,那么你可以自己去反编译一下TrafficLamp这个类,看看jvm是怎么处理它的就明白了。 枚举类的其他用法 说一说枚举类的其他用法。
前言 本文主要讲解Java的其他两个重要的技术点:枚举类(Enum)和注解(Annotation),这两个在平时开发中经常用于公共工程。...枚举类是一种特殊的类,用于定义一组常量(final variables)。通过使用enum关键字定义枚举类,每个枚举常量都是枚举类的一个实例,并且具有名称和值。...要自定义注解,需要创建一个接口或抽象类,并使用@Target和@Retention注解来指定该注解可以用于哪些元素,并指定该注解在运行时是否可用 一、Java枚举类Enum 1.自定义枚举类...枚举类是通过关键字enum来定义的,每个枚举常量都是枚举类的一个实例,并且具有名称和值。...总结 Java枚举类(Enum)和注解(Annotation)都是Java语言中重要的特性,它们提供了一种方便的方式来定义常量、提供元数据信息和实现各种功能。
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。...而且 Java 要求必须先定义 enum 实例。...:实现接口 所有的枚举都继承自java.lang.Enum类。...由于Java 不支持多继承,所以枚举对象不能再继承其他类。...} 用法七:关于枚举集合的使用 java.util.EnumSet和java.util.EnumMap是两个枚举集合。
以下使用 JDK 版本为:1.8.0_121 枚举类型的引入 枚举类型是 Java 5 中增加的一个小特性,在此之前,实现枚举的方式为定义编译期常量形式。...枚举类型的使用 enum 关键字与常用的 class 关键字作用相似,用于完成对类结构的定义,所以 enum 可以作为一种特殊的类定义方式理解。...定义过程与 class 的定义类过程基本相同,同样提供有属性和方法的定义,不同之处在于 enum 定义的类默认继承了 Enum 类,因为 Java 不允许多继承,所以使用 enum 定义的类不能再继承其它类...枚举类型的 switch 用法 枚举类型描述的是一个有限空间的元素集合,所以对元素的判断应该是常见的操作。枚举类型支持 switch 用法,所以避免了多个 if-else 判断的形式。...; } } } 输出为: second season 枚举类中实现接口函数 枚举类型隐式继承了 Enum 类,所以不能再继承其他类,通过实现接口,可以将实现了同一个接口的多个枚举类型作为同一类
摘自https://www.jianshu.com/p/44cd00077f6b 一、enum 对象的创建和常用方法介绍 1.首先我们先来新建一个枚举 public enum EnumTest1 {...MON, TUE, WED, THU, FRI, SAT, SUN; } 2.创建枚举对象以及对象方法介绍 public class TestMain { public static...void main(String[] args) { // 返回枚举常量的名称 for (EnumTest1 e : EnumTest1.values()){...4 MON 在 FRI之前 getDeclaringClass(): com.Enumc.EnumTest1 name(): MON toString(): MON ordinal(): 0 二、给 enum...自定义属性和方法 public enum EnumTest2 { MON(1), TUE(2), WED(3), THU(4), FRI(5){ @Override
(1).先看概念 枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。...(2).基本语法表示 enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... ...标识符[=整型常数] } 枚举变量; 定义一个: enum fruit { apple, banana, pear, fig } product; (3).上面的fruit和apple, banana...,普通变量使用枚举的元素的常量值的用法,输出了0和1。...可以enum可以帮助我们创建常量 //定义枚举 enum fruit {apple,banana,pear,fig}; //普通变量使用枚举元素的常量值 int a = apple; //0 int
所以,枚举类的出现,就是为了简化这种操作。 可以将枚举类理解为是java的一种语法糖。...枚举类的用法 最简单的使用 最简单的枚举类就像我们上面第一个定义的枚举类一样: public enum Weekday { SUN,MON,TUS,WED,THU,FRI,SAT } 如何使用它呢...学完了这些,大概枚举类你也应该掌握了,但是,还有没有其他用法呢? 枚举类中的抽象类 如果我在枚举类中定义一个抽象方法会怎么样? 你要知道,枚举类不能继承其他类,也不能被其他类继承。...反编译出来的代码和我们一开始用静态变量自己写的那个类出奇的相似! 而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个类继承了java.lang.Enum类!...如果你还是不太理解,那么你可以自己去反编译一下TrafficLamp这个类,看看jvm是怎么处理它的就明白了。 枚举类的其他用法 说一说枚举类的其他用法。
在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
简介 枚举是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?
package net.liezi.java.learn.initialization; /** * @author 王梓 */ public class EnumOrder { Spinciness
在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 修饰
这节简单讲一下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
领取专属 10元无门槛券
手把手带您无忧上云