首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

枚举代码的调用疑义

2014-01-06 
枚举代码的调用疑问请问这段代码该怎么调用?package thirtypublic enum enumerationLamp {//定义绿灯,实

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

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);   //输出:绿灯
 }

热点排行