abcfanyuan 发表于 2012-12-17 11:38:55

请教java枚举方面的问题

import java.util.*;
public class Point {
        double xx,yy;
        Point(double x,double y){
                xx=x;
                yy=y;
        }
       
        public void Set_XY(double x,double y){
                xx=x;
                yy=y;
        }
       
        public enum Move {
                up,down,left,right;
       
       public static Move getMove(String move){
          return valueOf(move.toLowerCase());
             }
       
        }
        public void Move_XY(String move){
                switch(Move.getMove(move)){
                        case up :
                                yy--;
                                break;
                        case down :
                                yy++;
                                break;
                        case left :
                                xx--;
                                break;
                        case right :
                                xx++;
                                break;
                }
       
        }
        /**
       * public static void main(String[] args) {
   *       Point point = new Point();
   *       point.Move_XY("cat");
   *        }
       */        
}
上面这个是代码,但是其中的有一个地方不明白。
刚学java,问的不专业请不要见笑。

代码:
public enum Move {
                up,down,left,right;
       
       public static Move getMove(String move){
          return valueOf(move.toLowerCase());
             }
       
        }
请问为什么一个枚举种种可以写入一种方法?
为什么这方法是Move 枚举型的 觉得怪怪的。
还有当我试图将其中的这个字符转换的方法分离出来总是无法成功。
对于枚举了解不多,请帮忙解答谢谢。
页: [1]
查看完整版本: 请教java枚举方面的问题