Day15-枚举
枚举
-
枚举简写enum
-
枚举是一组常量的集合
-
可以这样理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象
枚举的实现方式
-
自定义实现枚举
-
将构造器私有化,目的防止直接new
-
去掉setXXX方法,防止属性被修改
-
在类的内部,直接创建固定的对象
-
优化,可以再加入一个final+static修饰符
-
-
使用enum关键字实现枚举
-
使用关键字enum替代class
-
常量名(实参列表)
-
如果有多个常量(对象),使用,号间隔即可,最后一个分号结尾
-
如果使用enum来实现枚举,要求将定义常量对象,写在前面
-
如果使用的是无参构造器,创建常量对象,则可以省略()
-
例题1
package com.lsq.study.枚举;
/**
* @author liushaoqin
* @version 1.0
*/
public class Demo02 {
public static void main(String[] args) {
Week_[] weeks = Week_.values();
System.out.println("==========所有星期的信息如下==========");
for (Week_ week : weeks) {
System.out.println(week);
}
}
}
enum Week_{
MONDAY("星期一"),TUESDAY("星期二"),WEDNESDAY("星期三"),THURSDAY("星期四"),FRIDAY("星期五"),SATURDAY("星期六"),SUNDAY("星期日");
private String name;
private Week_(String name) {
this.name = name;
}
package com.lsq.study.枚举;
/**
* @author liushaoqin
* @version 1.0
*/
public class Demo01 {
public static void main(String[] args) {
Week[] values = Week.values();
System.out.println("==========所有星期的信息如下==========");
for (Week value : values) {
String name = value.name();
switch (name){
case "MONDAY":
System.out.println("星期一");
break;
case "TUESDAY":
System.out.println("星期二");
break;
case "WEDNESDAY":
System.out.println("星期三");
break;
case "THURSDAY":
System.out.println("星期四");
break;
case "FRIDAY":
System.out.println("星期五");
break;
case "SATURDAY":
System.out.println("星期六");
break;
case "SUNDAY":
System.out.println("星期日");
break;
}
}
}
}
enum Week{
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
}
注意事项
-
使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum,而java是单继承机制
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理