java 定义枚举类型_java中的枚举类

本文详细介绍了Java中的枚举类,包括它的特性、与普通类的区别以及如何使用。枚举类是一种特殊的类,不能继承其他类但可以实现接口,其默认继承自java.lang.Enum。枚举类的所有实例必须在枚举类的第一行定义,并且系统会自动添加final和public static final修饰。此外,枚举类提供了values()方法方便遍历枚举值。通过枚举类,可以更安全地处理常量,避免了硬编码和类型转换的错误。

枚举类(enum),与class和interface关键字地位相同。

枚举类是一个特殊的类,可以有自己的成员变量、方法、构造器,可以实现一个或多个接口。一个java源文件中只能有一个public的enum类。

枚举类终究不是普通类,它与普通类有什么区别呢?

enum默认继承的是java.lang.Enum类,而不是Object类。enum类不能显式继承其他父类。

使用enum定义、非抽象的枚举类默认会使用final修饰,因此enum类不能被继承(不能派生子类)。

枚举类的构造器只能使用private来修饰。

枚举类的所有实例只能在枚举类的第一行显式列出。系统会自动添加public static final 修饰,程序员无需显式添加。

枚举类提供了一个values()方法,可以很方便的遍历enum的值。

public enum SeasonEnum

{

//列出4个枚举实例

SRING,SUMMER,FALL,WINTER;

}

这个类等价于:

public static final int SEASON_SPRING=1;

public static final int SEASON_SUMMER=2;

public static final int SEASON_FALL=3;

public static final int SEASON_WINTER=4;

遍历SeasonEnum类的方法:

public class EnumTest

{

public void judge(SeasonEnum s)

{

switch(s)

{

case SRING:

syso(“春”);

break;

case SUMMER:

syso("夏");

break;

......

}

}

//main方法

main()

{

for(SeasonEnum s:SeasonEnum.values())

{

Syso(s);

}

new EnumTest().judge(SeasonEnum.SUMMER);//使用枚举类的类名SeasonEnum调用实例

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值