Java枚举类的学习
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枚举类的学习的更多相关文章
- Java枚举类在生产环境中的使用方式
前言 Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...
- java枚举类学习笔记总结
枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 如何自定义枚 ...
- Java枚举类使用
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Java基础15:深入剖析Java枚举类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 夯实Java基础系列14:深入理解Java枚举类
目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...
- Java 枚举类
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...
- java 枚举类 enum 总结
枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...
- java 枚举类小结 Enum
好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...
- java枚举类
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式. 枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 priva ...
- 【JAVA】浅谈java枚举类
一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...
随机推荐
- Cesium源码之Label(二)
我们查看Cesium源码时,有时会发现源码中有大量的includeStart开头的注释,如下图所示. 这里面大多是调试信息,当使用gulp打包时,removePragmas参数设置为true,则会删除 ...
- 【JS入门小游戏】01-骰子游戏
01-骰子游戏 游戏出自Udemy的JS课程中提到的一个游戏,课程主要是对JS部分进行详细的从0开始的讲解,本篇文章是对整个游戏的分析,包括HTMK,CSS和JS,也主要对JS进行刨析. 游戏链接:h ...
- [EULAR文摘] 超声腱鞘炎对RA早期诊断的价值
超声腱鞘炎对RA早期诊断的价值 Sahbudin I, et al. EULAR 2015. Present ID: OP0015. 背景:为了预测早期未分化疾病发展为类风湿关节炎(RA), EULA ...
- Shapefile导入MySQL
1. 概述 Shapefile是常用的空间数据文件格式,MySQL是常用的关系型数据库 MySQL遵从OpenGIS联盟(OGC)的规范,MySQL实施了空间扩展,更详细的信息可以参考: MySQL ...
- vue学习笔记:vue.js基础语法
一.VUE 概述 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...
- nginx 安全漏洞(CVE-2021-23017) 版本升级
查看当前nginx版本信息 # ./sbin/nginx -V nginx version: nginx/1.20.1 built by gcc 4.8.5 20150623 (Red Hat 4.8 ...
- 一个方便IO单元测试的C#扩展库
对于我们.Net程序员,System.Web.Abstractions我们都非常熟悉,主要作用于Web可以实现单元测试,他是在.Net framework 3.5 sp1开始引入的,很好的解决项目表示 ...
- mybatis动态标签——foreach批量添加和删除
<!-- [foreach标签] collection:设置要循环的数组或集合 item:用一个字符串表示数组或集合中的每一个数据 separator:设置每次循环的数据之间的分隔符 open: ...
- (jmeter笔记)有序递增和无序递增
有序递增:计数器 Track counter independently for each user: 不勾选,每个线程引用,顺延递增 勾选 ,每个线程引用,重新计算 Reset counter on ...
- 前端实现电子签名(web、移动端)通用组件(canvas实现)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...