枚举类中声明的每一个枚举值代表枚举类的一个实例对象
与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的。
枚举类也可以实现接口、或继承抽象类。
例:为Color增加一个方法随机返回一个颜色- public enum Color {
- Red,
- Green,
- Blue;
- private static int number = Color.values().length ;
- public static Color getRandomColor(){
- long random = System.currentTimeMillis() % number;
- switch ((int) random){
- case 0:
- return Color.Red;
- case 1:
- return Color.Green;
- case 2:
- return Color.Blue;
- default : return Color.Red;
- }
- }
- }
复制代码 可以看出这在枚举类型里定义变量和方法和在普通类里面定义方法和变量没有什么区别。唯一要注意的只是变量和方法定义必须放在所有枚举值定义的后面,否则编译器会给出一个错误。
|