0
点赞
收藏
分享

微信扫一扫

Java-枚举类的两种实现方式

方法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 + '\'' +
'}';
}
}
举报

相关推荐

0 条评论