读书人

枚举代码的调用疑义

发布时间: 2014-01-06 15:53:52 作者: rapoo

枚举代码的调用疑问
请问这段代码该怎么调用?

package thirty;



public enum enumerationLamp {

//定义绿灯,实现下一个灯是黄灯
GREED
{
public enumerationLamp next()
{
return YELLOW;
}
},
//定义黄灯,实现下一个等是红灯
YELLOW
{
public enumerationLamp next()
{
return RED;
}
},
//定义红灯实现下一个等是绿灯
RED
{
public enumerationLamp next()
{
return GREED;
}
};

//定义一个抽象方法,让枚举成员去实现
public abstract enumerationLamp next();

//重写toString可以实现名字的显示
public String toString()
{
String name=null;
switch(this)
{
case GREED : name ="绿灯"; break;
case RED : name ="红灯"; break;
case YELLOW : name ="黄灯"; break;
}
return name;
}
}

[解决办法]
加上一个主类和主函数就行了:

package dsg;

enum enumerationLamp {

//定义绿灯,实现下一个灯是黄灯
GREED
{
public enumerationLamp next()
{
return YELLOW;
}
},
//定义黄灯,实现下一个等是红灯
YELLOW
{
public enumerationLamp next()
{
return RED;
}
},
//定义红灯实现下一个等是绿灯
RED
{
public enumerationLamp next()
{
return GREED;
}
};

//定义一个抽象方法,让枚举成员去实现
public abstract enumerationLamp next();

//重写toString可以实现名字的显示
public String toString()
{
String name=null;
switch(this)
{
case GREED : name ="绿灯"; break;
case RED : name ="红灯"; break;
case YELLOW : name ="黄灯"; break;
}
return name;
}
}
public class Call {


public static void main(String[] args) {
enumerationLamp en = enumerationLamp.GREED;
System.out.println(en);
}
}


[解决办法]
调用代码如下:

public static void main(String[] args) {
enumerationLamp el = enumerationLamp.GREED;
System.out.println(el); //输出:绿灯
}

读书人网 >J2SE开发

热点推荐