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. STM32F4寄存器初始化系列:GPIO

    1 static void GPIO_Init(void) 2 { 3 4 //sound 5 GPIO_Set(GPIOB,PIN4,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO ...

  2. aspnetcore读取配置【源码分析】

    总的逻辑 继承 IConfigurationSource 这个接口的子类是配置源 ,其中的build方法,创建并返回对应的ConfigurationProvider. 继承 IConfiguratio ...

  3. TNF拮抗剂的结构、功能与结核感染_Wallis2008

    中信国健临床通讯 2009年第2期 TNF拮抗剂的结构.功能与结核感染 Robert S. Wallis. THE LANCET Infectious Diseases. 2008; 8:601–61 ...

  4. CSS3移动动画

    transition: .3s all ease; .tmall .tmall-tabbodys { width: 100%; position: absolute; left: 0px; trans ...

  5. Camera | 5.Linux v4l2架构(基于rk3568)

    上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体.注册函数. 厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架构来实现,但是不同厂家.不 ...

  6. LeetCode-688 骑士在棋盘上的概率

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/knight-probability-in-chessboard 题目描述 在一个 n x n 的 ...

  7. ubuntu20.04安装fastdfs遇到的问题

    说明:git clone在线安装与离线安装都不成功后,选择原来可以正常运行的fastdfs服务,进行tar打包下载,再在新项目上进行解压部署.但由于打包压缩动态库的软连接 失效,所以启动出现如下报错信 ...

  8. Date时间API

    JDK8之前时间API   1. java.lang.System类     System类提供的public static long currentTimeMillis()用来返回当前时间与1970 ...

  9. linux 操作命令大全

    mysql 授权远程访问 1.进入cd /usr/local/mysql/bin 下执行 ./mysql -uroot -pInfosec@2020  (-p后面是数据库密码) 2.use mysql ...

  10. js中常用Math对象

    js中常用Math对象 Math.round()四舍五入 Math.ceil() ->ceil 天花板--->向上取整 Math.floor() 向下取整 Math.floor(-11.1 ...