本帖最后由 黄晶 于 2012-12-10 13:23 编辑
看枚举类型的知识点时,有点弄糊涂了,enum关键字可以类比于class.相当于定义了一个类.
里面定义的变量自定义后就固定.引用时可以用枚举名直接访问变量,类似于类引用全局变量.
下面这段代码里有个abstract方法.我就想既然里面有abstract方法,那么enum前面应该有abstract.
这个想法印证是错的....
我有点疑惑的是...
RED.GREEN和YELLOW后面大括号里的代码是嘛意思..????
RED.GREEN还有YELLOW这三个变量看做是什么类型的好理解一点.....
abstract enum TrafficLight //abstract错误
{
RED(30)
{
public TrafficLight nextLight()
{
return GREEN;
}
},
YELLOW(5)
{
public TrafficLight nextLight()
{
return RED;
}
},
GREEN(45)
{
public TrafficLight nextLight()
{
return YELLOW;
}
};
public abstract TrafficLight nextLight();//神马抽象方法,有么用???
private int time;
private TrafficLight(int time)//还有构造函数....!!!
{
this.time = time;
}
public String toString()
{
return this.name()+ " " + time + "s";
}
}
哪位童鞋明白的,帮我解析一下吧.............{:soso_e199:}
|
|