枚举类型是Java中一种用于统一管理有限的常量数据的数据类型。
它将常量设置为对象,提高了代码的可读性和简洁性。
通过使用枚举类型,可以在代码中更方便地读取和使用常量。
package com.shujia.day22;
/*
1. 创建枚举类的属性(成员变量),必须是作为私有常量出现
2. 必须将构造方法私有化,这是为了保证类的对象是有限个的目的
3. 提供公共的静态的final方法给外界获取枚举类中多个对象
4. 提供公共的获取属性的方法
5. 重写toString()方法
*/
class Season{
private String name;
private String describe;
private Season(){}
private Season(String name,String describe){
this.name = name;
this.describe = describe;
}
public static final Season SPRING = new Season("春天","春暖花开");
public static final Season SUMMER = new Season("夏天","夏日炎炎");
public static final Season AUTUMN = new Season("秋天","硕果累累");
public static final Season WINTER = new Season("冬天","万里雪疆");
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", describe='" + describe + '\'' +
'}';
}
}
public class EnumDemo1 {
public static void main(String[] args) {
Season summer = Season.SUMMER;
System.out.println(summer.getName());
System.out.println(summer.getDescribe());
}
}
package com.shujia.day22;
/*
在jdk1.5之后,java提供了一关键词,可以描述一个枚举类 enum
1. 将枚举相关的对象放在开头
SPRING("春天", "春暖花开")
2. 创建枚举类的属性(成员遍历),必须是作为私有常量出现
3. 必须将构造方法私有化,这是为了保证类的对象是有限个的目的
4. 提供公共的获取属性的方法
5. 重写toString()方法
*/
enum Season2{
//表示有限个对象,必须放在枚举类第一个部分
SPRING("春天","春暖花开"),
SUMMER("夏天","夏日炎炎"),
AUTUMN("秋天","硕果累累"),
WINTER("冬天","万里雪疆");
private String name;
private String describe;
private Season2(){}
private Season2(String name,String describe){
this.name = name;
this.describe = describe;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", describe='" + describe + '\'' +
'}';
}
}
public class EnumDemo2 {
public static void main(String[] args) {
Season2 spring = Season2.SPRING;
Season2 summer = Season2.SUMMER;
System.out.println(spring);
System.out.println(summer);
}
}