java enum(枚举)

64 阅读1分钟
/**
 * java enum
 */
//enum Color
//{
//    RED, GREEN, BLUE;
//    // 构造函数
//    private Color()
//    {
//        System.out.println("Constructor called for : " + this.toString());
//    }
//
//    public void colorInfo()
//    {
//        System.out.println("Universal Color");
//    }
//}
enum Color{
    RED{
        public String getColor(){//枚举对象实现抽象方法
            return "红色";
        }
    },
    GREEN{
        public String getColor(){//枚举对象实现抽象方法
            return "绿色";
        }
    },
    BLUE{
        public String getColor(){//枚举对象实现抽象方法
            return "蓝色";
        }
    };
    public abstract String getColor();//定义抽象方法
}
public class Obj_6 {
    public static void main(String[] args) {
        // 调用 values()
        Color[] arr = Color.values();

        // 迭代枚举
        for (Color col : arr)
        {
            // 查看索引
            System.out.println(col + " at index " + col.ordinal());
            System.out.println(col.getColor());
        }

        // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException
        System.out.println(Color.valueOf("RED"));
        try {
            System.out.println(Color.valueOf("red"));
        }catch (Exception e){
            System.out.println(e);
        }



    }
}