一直都是对枚举类有一个模糊的印象,今天正好碰到了相关的代码,因此把学习内容记录下来。
学习链接:【Java】枚举类基本使用_兮动人的博客-CSDN博客_java枚举类的使用
提示:以下是本篇文章正文内容,下面案例可供参考
一、enum是什么?
首先来说一下枚举,枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但是内容一般是固定且有限的。Java中使用enum来定义枚举,它是一个关键字。
二、枚举的实现
为了说明enum的好处,现在来举例说明。
1.不使用enum,自定义类实现枚举
但是要注意的是,一般枚举是只读不取,所以不设置getXXX方法。
对枚举属性、对象设置为static final,固定之意
且枚举对象名都是大写 常量命名规范化
枚举对象根据需要可以有多个属性
代码如下:
package com.example.Practise;
public class Demo1 {
private String name;
private String describe;
public static final Demo1 SPRING = new Demo1("春天","春意盎然");
public static final Demo1 SUMMER = new Demo1("夏天","骄阳似火");
public static final Demo1 AUTUMN = new Demo1("秋天","秋高气爽");
public static final Demo1 WINNER = new Demo1("春天","冰天雪地");
private Demo1(String name, String describe){
this.name = name;
this.describe = describe;
}
public String getName() {
return name;
}
public String getDescribe() {
return describe;
}
@Override
public String toString() {
return "name='" + name + '\'' +
", desc='" + describe + '\'';
}
public static void main(String[] args) {
System.out.println(Demo1.SPRING.toString());
System.out.println(Demo1.SUMMER.toString());
System.out.println(Demo1.AUTUMN.toString());
System.out.println(Demo1.WINNER.toString());
}
}
小结:
1.构造器私有化
2.类内部创建对象,且使用static final 修饰,常量
3.不提供set方法
2.使用enum实现枚举类
直接用enum代替class创建类。
代码如下(示例):
package com.example.Practise;
public enum Season {
SPRING("春天","春意盎然"),
SUMMER("夏天","骄阳似火"),
AUTUMN("秋天","秋高气爽"),
WINNER("冬天","冰天雪地");
private String name;
private String describe;
private Season(String name,String describe){
this.name = name;
this.describe = describe;
}
public String getName() {
return name;
}
public String getDescribe() {
return describe;
}
@Override
public String toString() {
return "name='" + name + '\'' +
", desc='" + describe + '\'';
}
public static void main(String[] args) {
System.out.println(Season.SPRING);
System.out.println(Season.SUMMER);
System.out.println(Season.AUTUMN);
System.out.println(Season.WINNER);
}
}
小结:
当有多个枚举对象时,中间用,隔开;
枚举对象必须放在枚举类的行首