java建枚举类_Java中枚举类

#笔记

枚举类:有限个对象

自定义枚举类code:

public classTestEnumeration {public static voidmain(String[] args) {//TODO 自动生成的方法存根

Season spring =Season.SPRING;

spring.show();

Season winter=Season.WINTER;

winter.show();

}

}//枚举类

classSeason{//提供类的属性,声明为private final

private finalString seasonName;private finalString seasonDesc;//声明为final的属性,在构造中初始化

privateSeason(String seasonName,String seasonDesc) {this.seasonName =seasonName;this.seasonDesc =seasonDesc;

}publicString getSeasonName() {returnseasonName;

}publicString getSeasonDesc() {returnseasonDesc;

}//创建枚举对象

public static final Season SPRING = new Season("春天","这是春天");public static final Season WINTER = new Season("冬天","这是冬天");public static final Season SUMMER = new Season("夏天","这是夏天");public static final Season AUTUMN = new Season("秋天","这是秋天");public voidshow() {

System.out.println("这是"+this.getSeasonName());

}

}

使用enum创建枚举类:

public class TestEnumerationEnum {

public static void main(String[] args) {

SeasonEnum  spring = SeasonEnum.SPRING;

spring.show();

//values方法可以返回枚举类的对象(数组的形式返回)

SeasonEnum[]  sea  = SeasonEnum.values();

for(Object obj : sea) {

System.out.println(obj);

}

//.values(String name)  返回枚举类的对象

String str  = "SPRING"; //不能随意乱写,否则报异常

SeasonEnum sea1 = SeasonEnum.valueOf(str);

System.out.println(sea1);  //return SeasonEnum [seasonName=春天, seasonDesc=这是春天]

}

}

//enum创建枚举类

enum SeasonEnum{

//将枚举类的对象放到类的最上面并与自定义的简化为:

SPRING("春天","这是春天"),

WINTER("冬天","这是冬天"),

SUMMER("夏天","这是夏天"),

AUTUMN("秋天","这是秋天");

//提供类的属性,声明为private final

private final String seasonName;

private final String seasonDesc;

//声明为final的属性,在构造中初始化

private SeasonEnum(String seasonName,String seasonDesc) {

this.seasonName = seasonName;

this.seasonDesc = seasonDesc;

}

public String getSeasonName() {

return seasonName;

}

public String getSeasonDesc() {

return seasonDesc;

}

@Override

public String toString() {

return "SeasonEnum [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";

}

public void show() {

System.out.println("这是"+this.getSeasonName());

}

}

枚举类实现接口:

public classTestEnumerationInter {public static voidmain(String[] args) {

SeasonEnum winter=SeasonEnum.WINTER;

winter.show();//return 这是冬天

SeasonEnum sea= SeasonEnum.valueOf("SUMMER");

sea.show();//这是夏天

}

}//定义一个接口

interfaceEnumTest{voidshow();

}//自定义枚举类

enum SeasonEnum implementsEnumTest{//将枚举类的对象放到类的最上面并与自定义的简化为://第二种实现接口

SPRING("春天","这是春天"){public voidshow() {

System.out.println("Hi,春天");

}

},

WINTER("冬天","这是冬天"){public voidshow() {

System.out.println("Hi,冬天");

}

},

SUMMER("夏天","这是夏天"){public voidshow() {

System.out.println("Hi,夏天");

}

},

AUTUMN("秋天","这是秋天"){public voidshow() {

System.out.println("Hi,秋天");

}

};//提供类的属性,声明为private final

private finalString seasonName;private finalString seasonDesc;//声明为final的属性,在构造中初始化

privateSeasonEnum(String seasonName,String seasonDesc) {this.seasonName =seasonName;this.seasonDesc =seasonDesc;

}publicString getSeasonName() {returnseasonName;

}publicString getSeasonDesc() {returnseasonDesc;

}

@OverridepublicString toString() {return "SeasonEnum [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";

}/*第一种实现接口------这个是常规的的实现

public void show() {

System.out.println("这是"+this.getSeasonName());

}*/}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值