enum枚举类

enum枚举

枚举也可以叫枚举类,而枚举类其实就是多例是有限个数的,一个类有多个实例,但实例的个数不是无穷的。

首先枚举是一个特殊的class,这个class相当于final static修饰,不能被继承,它的构造方法强制被私有化,所有的枚举类都继承自Java.lang.Enum类。由于java不支持多继承,所以枚举类对象不能再继承其它类

public enum ColorEnum {
//每个枚举变量都是枚举类ColorEnum的实例,相当于RED=new ColorEnum(1),按序号来。
//每个成员变量都是final static修饰
RED, GREEN, BLANK, YELLOW;
}
public void ColorTest() {
//ordinal返回枚举变量的序号
for(ColorEnum color:ColorEnum.values()) {
System.out.println(color+",ordinal:"+color.ordinal()+",name:"+color.name())
;
}

定义枚举类

注意, 定义枚举类的关键字是enum,而不是Enum,所有关键字都是小写的!,枚举类继承了 java.lang.Enum类

其中FRONT、BEHIND、LEFT、RIGHT都是枚举项,它们都是本类的实例,本类一共就只有四个实例对 象。

在定义枚举项时,多个枚举项之间使用逗号分隔,最后一个枚举项后需要给出分号!但如果枚举类中只 有枚举项(没有构造器、方法、实例变量),那么可以省略分号!建议不要省略分号!

枚举类都是Enum的子类

所有枚举类都是 java.lang.Enum 的子类,无需使用extends来继承,如下是枚举类拥有的常用方 法

方法名称说明
int compareTo(E e)比较两枚举量大小,其实声明顺序的下标索引
boolean equals(Object o)比较两个枚举常量是否相等
int hashCode()返回枚举常量的hashCode
String name()返回枚举常量的名字
int ordinal()返回枚举常量在枚举类声明的序号,第一个枚举常量 序号为0
String toString()枚举常量转换字符串
static T valueOf(Class enumType,String name)把字符串转换成枚举常量
static T[] values()返回本类所有枚举常量数组
static T valueOf(String name)通过枚举常量的名称字符串返回T枚举常量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值