Java枚举1

简介: Java枚举1

1、概述


为了间接的表示一些固定的值,Java就给我们提供了枚举,所谓枚举就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。


  • 当需要定义一组常量时,强烈建议使用枚举类


2、定义格式


  • 格式


public enum s {   
  枚举项1,枚举项2,枚举项3;
}
// 注意: 定义枚举类要用关键字enum


  • 示例代码


// 定义一个枚举类,用来表示春,夏,秋,冬这四个固定值
public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}


3、枚举的特点


  • 特点


  • 所有枚举类都是Enum的子类
  • 我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
  • 每一个枚举项其实就是该枚举的一个对象
  • 枚举也是一个类,也可以去定义成员变量
  • 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
  • 枚举类可以有构造器,但必须是private的,它默认的也是private的。
    枚举项的用法比较特殊:枚举("");
  • 枚举类也可以有抽象方法,但是枚举项必须重写该方法


  • 示例代码


public enum Season {
    SPRING("春"){
        //如果枚举类中有抽象方法
        //那么在枚举项中必须要全部重写
        @Override
        public void show() {
            System.out.println(this.name);
        }
    },
    SUMMER("夏"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    },
    AUTUMN("秋"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    },
    WINTER("冬"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    };
    public String name;
    //空参构造
    //private Season(){}
    //有参构造
    private Season(String name){
        this.name = name;
    }
    //抽象方法
    public abstract void show();
}
public class EnumDemo {
    public static void main(String[] args) {
        /*
        1.所有枚举类都是Enum的子类
        2.我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
        3.每一个枚举项其实就是该枚举的一个对象
        4.枚举也是一个类,也可以去定义成员变量
        5.枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,
          但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
        6.枚举类可以有构造器,但必须是private的,它默认的也是private的。
          枚举项的用法比较特殊:枚举("");
        7.枚举类也可以有抽象方法,但是枚举项必须重写该方法
    */
        //第二个特点的演示
        //我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
        //第三个特点的演示
        //每一个枚举项其实就是该枚举的一个对象
        Season spring = Season.SPRING;
    }
}


相关文章
|
1天前
|
Java
java枚举的使用
java枚举的使用
27 0
|
1天前
|
安全 Java
Java 枚举(Enums)解析:提高代码可读性与易维护性
在 Java 中,实现抽象的另一种方式是使用接口。 接口定义 接口是一个完全抽象的类,用于将具有空方法体的相关方法分组:
74 1
|
1天前
|
存储 安全 Java
解密 Java 枚举的奥秘:超越常量的选择
解密 Java 枚举的奥秘:超越常量的选择
35 0
|
1天前
|
开发框架 Java 编译器
Java反射,枚举讲解
Java反射,枚举讲解
45 0
|
6月前
|
Kubernetes 数据可视化 安全
枚举探秘:Java中的神奇力量!
枚举探秘:Java中的神奇力量!
|
1天前
|
Java 索引
Java开发指南 | 第三十篇】Java 枚举(enum)
Java开发指南 | 第三十篇】Java 枚举(enum)
9 1
|
1天前
|
Java 索引
Java 枚举(enum)
5月更文挑战第7天
|
1天前
|
缓存 Java 开发者
如何高效优雅的使用java枚举
本文通过几种样例展示如何高效优雅的使用java枚举消除冗余代码。
|
1天前
|
存储 算法 Java
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
【4月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28 1
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
|
1天前
|
安全 Java
Java枚举类
Java枚举类
12 1