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. SpringCloud Sleuth链路追踪

    1.概要 一般的,一个分布式服务跟踪系统,主要有三部分: 数据收集 数据存储 数据展示 然而这三个部分其实不都是由SpringCloud Sleuth(下面我简称为Sleuth)完成的,Sleuth负 ...

  2. Java 集合中的排序算法浅析

    作者:京东物流 秦彪 1.  引言 排序是一个Java开发者,在日常开发过程中随处可见的开发内容,Java中有丰富的API可以调用使用.在Java语言中,作为集合工具类的排序方法,必定要做到通用.高效 ...

  3. 叠堆柱状图(带折线版+2y轴)

    叠堆柱状图(带折线+2y轴) 代码 var chartDom=document.getElementById("stackBarAddLine"); var myChart=ech ...

  4. WPF HandyOrg DataGrid 表格内容和标题居中显示

    表格内容居中 对于文本显示列DataGridTextColumn需要设定文本内容水平居中或者水平居右,而不是HandyControl中设定的样式默认显示为居左时,需要继承DataGridCellSty ...

  5. Cesium渲染调度

    1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库,使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,基于Apache2.0许可的开源程序,可以免费用于商业和非商业 ...

  6. KingbaseES R6集群物理copy方式手工添加新备库节点

    案例说明:对于主库数据量比较大的环境,在添加新节点是可以采用在线clone方式创建新的备库节点,也可以在离线的状态下,直接拷贝其中一个备库的所有集群相关目录来创建新的备库节点.本案例介绍了通过离线物理 ...

  7. rlwrap解决opengauss,pg,oracle上下左右及回退乱码

    安装下rlwrap,最新版本是0.43下载地址 https://fossies.org/linux/privat/rlwrap-0.43.tar.gz/```安装rlwraptar -zxvf rlw ...

  8. mybatis动态标签——sql标签

    mapper接口 Emp getEmpById(@Param("id") Integer id); mapper.xml <!-- sql片段:可以记录一段sql,在需要用的 ...

  9. url 获取 值

    https://blog.csdn.net/weixin_50878675/article/details/126348725

  10. Android MVP框架 详细代码

    android mvp的好处,网上一搜一大堆,相对于一开始普通的在activity中处理所有的不管是网络请求还是页面渲染,最大的好处是简洁了,废话不多说,看代码 这里网络请求使用了两种,一种是自己封装 ...