黑马程序员技术交流社区
标题:
enum问题
[打印本页]
作者:
XinWen
时间:
2014-5-3 14:00
标题:
enum问题
本帖最后由 XinWen 于 2014-5-3 14:01 编辑
<div class="blockcode"><blockquote>enum Lamp2{
Red(3, 0),Green,Yello;
public static final int RED = 0;
public static final int GREEN = 1;
public static final int YELLO = 2;
private int mTime;
private int mColor;
private Lamp2(){
}
private Lamp2(int pTime, int pColor){
mTime = pTime;
mColor = pColor;
}
}
复制代码
为什么 定义 枚举 值列表的时候, 不能访问下面定义的常量,比如我上面的 Red穿参数的时候,不能用下面定义的 RED
作者:
Lin0411
时间:
2014-5-3 14:57
用enum定义枚举类默认继承了java.lang.Enum类而不是继承了Object类。枚举类的所有实例必须在枚举类中显式列出,否则这个枚举类将永远都不能产生实例。注意实在枚举内种。试图通过往枚举类中的实例中传入参数是不太可能的。首先定义的成员变量必须放在枚举实例之后,而又试图在实例中传入构造参数,这样就产生了矛盾,编译器会提示参数未定义。既然枚举的作用是描述有限固定的数据,楼主这样做有点画蛇添足!!
作者:
XinWen
时间:
2014-5-3 15:22
Lin0411 发表于 2014-5-3 14:57
用enum定义枚举类默认继承了java.lang.Enum类而不是继承了Object类。枚举类的所有实例必须在枚举类中显式列 ...
感谢 清晰多了
作者:
shi0000
时间:
2014-5-3 15:37
冲突了啊,之前的RED是对象,后边的就变成了变量,或者你将名换一个即可以了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2