A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lonely_zb 中级黑马   /  2013-9-4 18:21  /  950 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

首先贴上代码:

public enum WeekDay{
  //枚举类里包含所有静态常量
  SUN,MON,THE,WED,THU,FRI,STA
}

枚举是一个不可被继承的类,枚举的元素都必须是静态常量,而且是这个枚举类的示例

如上代码,我定义的sun...sta,都并没有指明说是静态常量啊? 而是这样却可以啊...

但是我这样写的话却不行:

public enum WeekDay{
  //枚举类里包含所有静态常量
  1,2,3,4;
}

为什么我写成String类型的就额可以呢? 而整行的数据却不可以...
不知道为啥?求解

评分

参与人数 1技术分 +1 收起 理由
薛鹏鹏 + 1

查看全部评分

4 个回复

倒序浏览
SUN什么的是用来做静态常量的名称的不是String型的数据,如果数据的话应该是"SUN"

而数字不能最为名称,所以就会报错


个人理解...
回复 使用道具 举报
本帖最后由 王松松 于 2013-9-4 20:27 编辑

定义静态常量:
public static final int sun = 0;
public static final int mon =1;

但是你有见过这样定义的么?
public static final int 0;
public static final int 1;
回复 使用道具 举报
枚举里面的每个值其实跟类里面的private static final 类名 对象名 = new 类名()  这种方式是类似的,java基础课程第二堂课还是哪,我记得毕向东老师讲过的,标识符不能以数字开头的,枚举中的项也是一样,不能以数组开头,枚举的值你可以有数字,但不能是数字开头,这么说你明白么?

评分

参与人数 1技术分 +1 收起 理由
薛鹏鹏 + 1

查看全部评分

回复 使用道具 举报
如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作

详情参考 如何修改分类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马