枚举代码的调用疑问

思哲者 2014-01-05 08:54:04
请问这段代码该怎么调用?

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;
}
}
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolbamboo2008 2014-01-05
  • 打赏
  • 举报
回复
请问楼主在哪里有疑问?
长笛党希望 2014-01-05
  • 打赏
  • 举报
回复
调用代码如下:

 public static void main(String[] args) {
		   enumerationLamp el =  enumerationLamp.GREED;
		   System.out.println(el);   		//输出:绿灯
 }
sleeplacker 2014-01-05
  • 打赏
  • 举报
回复
加上一个主类和主函数就行了:
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);
	}
}

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧