首页
学习
活动
专区
工具
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.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java枚举类

    一、 枚举类的说明 枚举类的理解:类的对象只有有限个,确定的。 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类只一个对象,则可以作为单例模式的实现方式。...二、如何定义枚举类 ① 自定义枚举类 class Season{ // 1.声明Season对象的属性:private final修饰 private final String seasonName...// 使用enum关键枚举类 enum Season1{ // 1.提供当前枚举类的对象,多个对象之间用“,”隔开,末尾对象";"结束 SPRING("春天","春暖花开"),...,枚举类常用方法:(继承于 java.lang.Enum 类) value() 返回所有的枚举类对象的构成的数组 valueOf(String objName):返回枚举类中对象名是 objName 的对象...interface Info{ void show(); } // 使用enum关键字枚举类 enum Season2 implements Info{ //1.提供当前枚举类的对象,

    73740

    【Java基本功】深入剖析Java枚举类的用法和原理

    而且 Java 要求必须先定义 enum 实例。 enum Color { //每个颜色都是枚举类的一个实例,并且构造方法要和枚举类的格式相符合。...那么像枚举也是在JDK1.5中才引入的,又是怎么实现的呢? Java在1.5中添加了java.lang.Enum抽象类,它是所有枚举类型基类。提供了一些基础属性和基础方法。....枚举类.Day$1); com.javase.枚举类.Day(java.lang.String, int, java.lang.String, com.javase.枚举类.Day$1); static...{}; } 可以看到,一个枚举在经过编译器编译过后,变成了一个抽象类,它继承了java.lang.Enum;而枚举中定义的枚举常量,变成了相应的public static final属性,而且其类型就抽象类的类型...总结 枚举本质上是通过普通的类来实现的,只是编译器为我们进行了处理。每个枚举类型都继承自java.lang.Enum,并自动添加了values和valueOf方法。

    3.8K41

    Java 枚举类 详解

    1、枚举是什么?   Java中的枚举其实是一种语法糖,在 JDK 1.5之后出现,用来表示固定且有限个的对象。比如一个季节类有春、夏、秋、冬四个对象;一个星期有星期一到星期日七个对象。...这些明显都是固定的,且有限个。 2、枚举类和普通类的区别   ①、使用 enum 定义的枚举类默认继承 java.lang.Enum 类,即枚举类是不能再继承别的类了。...而普通类的一般父类默认是 Object   ②、枚举类的构造器只能使用 private 定义,而普通类的还可以用 public 修饰   ③、枚举类的所有实例必须在枚举类中显示列出(,分隔   ;结尾)...,列出的实例系统会默认自动添加 public static final 修饰   ④、所有的枚举类都提供了一个 values() 方法,可以用来遍历枚举值 3、怎么用枚举?    ...switch--case 的表达式(JDK 1.5以后) ②、如果枚举类的对象只有一个,那么可以作为单例模式的实现

    1.2K90

    初探Java枚举类

    ); static {}; } 从反编译文件中可以得出以下结论: 定义的枚举值作为枚举类的属性,会被默认修饰为 public static final ,从修饰关键字,即可看出枚举值本质上是静态常量...3.枚举特性 枚举的特性,归结起来就是一句话: 除了不能继承,基本上可以将 enum 看做一个常规的类。...因为 enum 实际上都继承自 java.lang.Enum 类,而 Java 不支持多重继承,所以 enum 不能再继承其他类,当然也不能继承另一个 enum。但是枚举可以定义接口并实现。...Java 中提供了两个方便操作 enum 的工具类——EnumSet 和 EnumMap。...,大大加强了程序的可读性、易用性和可维护性,并且在此基础之上又进行了扩展,使之可以像类一样去使用,更是为Java对离散量的表示上升了一个台阶。

    69710

    Java枚举用法整理

    在项目中,一般推荐使用枚举来代替常量接口和常量类。但是,枚举类的用途不仅仅是定义常量,还有其它较多的方法,比如:实现接口、定义抽象方法、当作单例使用等。...本文是对Java枚举使用方法的一个整理,并给出示例。...枚举类在JDK 1.5引入的,枚举类在项目中已经不可或缺。...正是因为Java枚举类可以有自定义的方法,可以实现接口、定义抽象类等,更加的灵活,已经被广大开发人员推荐在项目中使用 -- 使用枚举类替换接口常量或者类常量等。...接下来,我们一起来看一些使用枚举的示例: 一、Java枚举类使用 声明枚举的语法如下: public/protected/private] enum Enum_name { ... ...} 1.1

    1.4K20

    java枚举类解读

    枚举类的使用 枚举类的实现 JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义枚举类 若枚举只有一个对象, 则可以作为一种单例模式的实现方式。...枚举类的属性 枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰 枚举类的使用 private final 修饰的属性应该在构造器中为其赋值 若枚举类显式的定义了带参数的构造器...  使用说明 使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类 枚举类的构造器只能使用 private 权限修饰符 枚举类的所有实例必须在枚举类中显式列出...而且 Java 要求必须先定义 enum 实例。 覆盖枚举的方法  如:toString()方法覆盖,因此拿到枚举对象,直接打印输入此对象的信息而不是一个地址。...,那么将会抛出异常No enum constant 实现接口的枚举类 和普通 Java 类一样,枚举类可以实现一个或多个接口 若每个枚举值在调用实现的接口方法呈现相同的行为方式,则只要统一实现该方法即可

    19640

    Java 中枚举类的使用

    在日常写项目时,很多数据字典常量都需要定义和使用,同时在 Java 面试中,枚举也是一个绕不开的话题,这篇文章就来详细介绍一下枚举的定义以及使用。 01  【什么是枚举类?】...枚举类的定义就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,使用枚举可以很方便地定义数据常量、以及我们的使用。 02  【为什么需要枚举类?】...此外,还可以为不同的枚举变量调用不同的处理方法(这可以通过实现枚举类的抽象方法来实现)。...: valueOf():返回当前枚举类的name属性,如果没有,则throw new java.lang.IllegalArgumentException()。...具体可以查看java.lang.Enum源码。 values():返回包括所有枚举变量的数组。

    1.6K20

    Java基础(十二):枚举类

    、构造器引用 Java基础(二十六):Java8 Stream流及Optional类 一、概述 枚举类型本质上也是一种类,只不过是这个类的对象是有限的、固定的几个,不能让用户随意创建 枚举类的例子举不胜举..., 则可以作为一种单例模式的实现方式 枚举类的实现: 在JDK5.0 之前,需要程序员自定义枚举类型 在JDK5.0 之后,Java支持enum关键字来快速定义枚举类型 二、定义枚举类(JDK5.0...之前) 私有化类的构造器,保证不能在类的外部创建其对象 在类的内部创建枚举类的实例。...,有参构造的private可以省略 调用有参构造的方法就是在常量对象名后面加(实参列表)就可以 枚举类默认继承的是java.lang.Enum类,因此不能再继承其他的类型 JDK5.0 之后switch...和普通 Java 类一样,枚举类可以实现一个或多个接口 若每个枚举值在调用实现的接口方法呈现相同的行为方式,则只要统一实现该方法即可 若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法

    14310

    Java枚举类与常用方法

    如何创建 首先,从名字就可以看出,枚举是一个类,那么我们就可以直接在创建时选择枚举就可以。 或者我们也可以在普通类前面加上enum关键词。...使用枚举 values() 返回枚举类中所有的值。 ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。 valueOf()方法返回指定字符串值的枚举常量。...该方法为静态方法,调用者为枚举类,不是枚举值; 该方法形参只要一个String类型的值即可,并且该String值为枚举值对应的名称,即toString()方法返回的值(比如枚举类为SPRING,对应的名称就是...name()方法与toString():几乎是等同的,都是输出变量的字符串形式。 getDeclaringClass(): 返回该枚举变量所在的枚举类。....Week中的值 System.out.println(Week.MON); //values()方法返回枚举类Week2.Week中指定索引的值 System.out.println

    47530
    领券