方法1:自定义实现枚举
package enum01;
/**
* @author jee
* @version 1.0
*/
public class Enum01 {
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.WINTER);
}
}
//枚举
//枚举(enumeration/enum)
//枚举是一组常量集合
//可以这里理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象
//枚举的二种实现方式
//1.自定义类实现枚举
//2.使用enum关键字实现枚举
//演示自定义枚举实现
class Season{
private String name;
private String desc;
// 将构造器私有化
// 去掉setXXXX方法
// 在Season内部,直接创建固定对象
public final static Season SPRING = new Season("春天","温暖");
public final static Season SUMMER = new Season("夏天","炎热");
public final static Season AUTUMN = new Season("秋天","凉爽");
public final static Season WINTER = new Season("冬天","寒冷");
private Season(String name,String desc)
{
this.name = name ;
this.desc = desc ;
}
/**
public void setName(String name)
{
this.name = name ;
}
public void setDesc(String desc)
{
this.desc = desc;
}
*/
public String getName()
{
return name;
}
public String getDesc()
{
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
方法2:使用enum关键字
package enum01;
/**
* @author jee
* @version 1.0
*/
public class Enum02 {
public static void main(String[] args) {
System.out.println(Season01.SPRING);
System.out.println(Season01.SUMMER);
System.out.println(Season01.AUTUMN);
System.out.println(Season01.WINTER);
}
}
//使用enum关键字来实现枚举类
/**
* 总结:
* 1.当我们使用enum关键字来开发一个枚举类时,默认会继承Enum类
* 2.传统的public static final Season SPRING = new Season(“春天”,“温暖”),简化成了SPRING(“春天”,“温暖”)
* 3.如果使用无参构造器创建枚举对象,则实参列表和小括号可以省略
* 4.当有多个枚举对象时,使用逗号(,)分割,最后一个后面分号(;)结尾
* 5.枚举对象必须放在枚举类的首行
*/
enum Season01{
SPRING("春天","温暖"),SUMMER("夏天","炎热"),
AUTUMN("秋天","凉爽"),WINTER("冬天","寒冷")
,MMM(),
;
private String name;
private String desc;
private Season01()
{
}
private Season01(String name,String desc)
{
this.desc = desc;
this.name = name;
}
public String getDesc() {
return desc;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "Season01{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}