java enum 整形_java枚举类中为什么不可以有整型,下面会报错

匿名用户

1级

2016-02-04 回答

枚举也是一种类,不能像你代码中那样把它理解成一个数组,

一个类该怎么写枚举类也该咋写。

“1,2,3”是一种数据类型,它不是对象也不是变量,肯定报错。

下面是从网上摘的一个说明,你看下

枚举(enum):

1.Java 5 新增,是类类型,但不能使用new

不能继承其他类,也不能作为超类,即不能扩展.但隐式继承自java.lang.Enum类,可以实现接口.

2.枚举包括两个预定义方法:

public static enum-type[] values();

public static enum-type valueOf(String st); 用于for-each循环遍历枚举常量.

且可以用”==”来判断两个枚举常量是否相等.

从Enum继承而来三个方法:

final int ordinal() ----返回常量顺序值

final int compareTo(enum-Type e) -----同一枚举中比较顺序值

final Boolean equals(enum-type e) -----同一枚举中是否相等,相当于”==”

3.在switch表达示中case语句不需也不能加入枚举的类型,否则会出错.

4.枚举是类类型,可以定义构造函数,且可以重载,同样也可定义其他的实例方法和变量,这些每一个枚举常量都有自己的一个副本.甚至可以定义静态的成员.可以实现接口.

如:public enum Answer implements DoAnswer{

Perfect(10),Good(8),Common(5),Bad(2),Terrible;//枚举常量,相当于public static Answer类型

public static int type=1; //定义一个静态成员

private int degree; //定义一个实例成员变量

private Answer(){ //定义一个不带参数的构造函数,注只能为private的,默认也一样

degree=-1;

}

private Answer(int d){ //定义一个带参数的重载构造函数

degree=d;

}

public String getProblem(){ //实现接口方法

return DoAnswer.PROBLEM;

}

public int getDegree(){ //定义一个实例成员函数

return degree;

}

public Answer getAnswer(){ //定义一个返回自身的成员函数,每一个常量都有自己的副本

return this;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值