package java1;
/**
* @author 高槐玉
* #Description:
* 枚举类的使用
* 1,枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类
* 2.当需要定义一姐常量时,强烈建议使用枚举类
* 3.如果枚举类中只有一个对像,则可以作为单例模式的实现方式。
* 二、如何定义枚举类
* 方式-:jdk5.0之前,自定义枚举类
* 方式二:jdk5,0,可以使用enum关键字定义枚举类
* #Date: 2022/10/12/20点55分
* #Shangguigu:497集
*/
class Enumerate{
//声明Season对象的属性:private final修饰
private final String Name;
private final String Desc; //私有化类的构造器,并给对象属性赋值
private Enumerate(String name,String desc){
this.Name = name;
this.Desc = desc;
} //提供当前枚举类的多个对象:public static final的
public static final Enumerate SPRING = new Enumerate("春天","万物复苏");
public final static Enumerate AUTUMN = new Enumerate("秋天","秋高气爽");
public static Enumerate SUMMER = new Enumerate("夏天","烈日炎炎");
public final static Enumerate WINTER = new Enumerate("冬天","银装素裹"); //其他诉求,获取枚举类对象的属性
public String getName() {
return Name;
} public String getDesc() {
return Desc;
}
//没有final修饰就可以改
public static Enumerate getSUMMER() {
return SUMMER;
} //重写toString方法才可以显示出来,不然打印的就是地址值
public String toString(){
return "季节:" + Name + ",特征:" + Desc;
}
}
public class SeasonTest {
public static void main(String[] args) {
System.out.println(Enumerate.SPRING);
System.out.println(Enumerate.AUTUMN);
System.out.println(Enumerate.SUMMER);
System.out.println(Enumerate.WINTER);
}
}

这是JDK5.0的自定义枚举类,下面列举JDK8的新的枚举类

package java1;
/**
* @author 高槐玉
* #Description 使用enum关键字定义枚举类,说明:定义的枚举类默认继承于java.lang.Enum类
* #Date: 2022/10/12/21点30分
* #Shangguigu:500集
*/ public class SeasonTest2 {
public static void main(String[] args) {
Season2 s2 = Season2.AUTOMN;
System.out.println(s2);
System.out.println(Season2.class.getSuperclass());
}
}
//使用enum关键字定义枚举类
enum Season2{
//提供当前枚举类的对象,多个对象之间用","隔开,末尾对象用";"结束
SPRING("春天!","春暖花开!"),
SOMMER("夏天!","酷暑难耐!"),
AUTOMN("秋天!","晚装红遍!"),
WINTER("冬天!","白雪皑皑!");
//声明Season对象的属性:private final修饰
private final String Name;
private final String Desc; //私有化类的构造器,并给对象属性赋值
private Season2(String name,String desc){
this.Name = name;
this.Desc = desc;
} public String toString(){
return "季节:" + Name + ",特征:" + Desc;
} }

Java枚举类的学习的更多相关文章

  1. Java枚举类在生产环境中的使用方式

    前言   Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...

  2. java枚举类学习笔记总结

    枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 如何自定义枚 ...

  3. Java枚举类使用

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  4. Java基础15:深入剖析Java枚举类

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  5. 夯实Java基础系列14:深入理解Java枚举类

    目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...

  6. Java 枚举类

    如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...

  7. java 枚举类 enum 总结

    枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...

  8. java 枚举类小结 Enum

    好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...

  9. java枚举类

    enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式.   枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 priva ...

  10. 【JAVA】浅谈java枚举类

    一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...

随机推荐

  1. Mybatis 区别-开发

    三.MyBatis 主流的ORM 支持java .NET Ruby三种语言,MyBatis是对JDBC的封装 ORM框架Hibernate 区别: 1)sql 优化方面 Hibernate 使用 HQ ...

  2. Mysql基本使用指南

    一. 记录操作 子查询 select * from students where (age, height) = (select max(age), max(height) from students ...

  3. 内网安全之:黄金&白银票据传递域控制器权限维持

    内网安全之:黄金&白银票据传递域控制器权限维持 目录 内网安全之:黄金&白银票据传递域控制器权限维持 1 Golden Ticket 1.1 导出 krbtgt 的 NTLM Hash ...

  4. CF873E - Awards For Contestants

    题意:对于 \(n\) 个人,每个人有一个分数,现在要把所有人分成四等,使得: 前三类都有人 前三类中,任意类的人数不大于其他类的人数的两倍 不能有 \(i\) 的分数比 \(j\) 高但是所属的等级 ...

  5. 【深入浅出 Yarn 架构与实现】4-5 RM 行为探究 - 启动 ApplicationMaster

    本节开始,将对 ResourceManager 中一些常见行为进行分析探究,看某些具体关键的行为,在 RM 中是如何流转的.本节将深入源码探究「启动 ApplicationMaster」的具体流程. ...

  6. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree

    VScode报错:npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree 不能解析依赖树 ,需要先修复上面 ...

  7. Day 13 13.2 requests之请求参数与请求体

    请求参数与请求体参数 一.什么是params参数(请求参数) get 方法是可以向服务器发送信息的,除了可以请求需要的页面之外,也可以发送我们指定的内容,这就是通过 params 参数实现的 requ ...

  8. Centos7 安装mysql 5.7 教程

    安装 yum 源 需要在系统上启用 MySQL 5.7 Community Release YUM 存储库.用于 yum 存储库配置的 rpm 包可在 MySQL 的官方网站上找到. 首先将最新的My ...

  9. [CSS]背景图片很大,根据屏幕缩小适配后,div之间有空隙的问题

    RT.美术给的素材宽度是1080px的. 在不缩放的情况下,1080px宽度的屏幕显示div之间正常,没有空隙,但使用transform属性之后,div缩小,div之间有空隙(白线) 百度有人说给这些 ...

  10. RabbitMQ的安装(linux版)

    原文地址:https://blog.csdn.net/jiguquan3839/article/details/91346261 注意:在web管理页面登录提示"User can only ...