Java—枚举类
目录
1、认识枚举类
2、枚举类常见应用场景
1、认识枚举类
- 枚举类是一种特殊的类。
枚举类的写法

特点:
- 枚举类中的第一行,只能写枚举类的对象名称,且要用逗号隔开。
- 这些名称,本质是常量,每个常量都记住了枚举类的一个对象。
枚举类的特点

A枚举类
public enum A {//枚举类第一行只能罗列枚举对象的名称这些名称本质是常量。x, y, z;
}
Test测试类
public class Test {public static void main(String[] args) {A a1 = A.x;A a2 = A.y;System.out.println(a1); //打印的是x说明toString方法被重写System.out.println(a2);System.out.println(a1.ordinal()); //得到a1的索引 // 0System.out.println(a2.ordinal()); //1//获取枚举类中所有的枚举值System.out.println(A.values()); //[x, y, z]}
}/*
输出结果:
x
y
0
1
[Lenumdemo.A;@6f2b958e*/
2、枚举类常见应用场景
枚举类很适合做信息分类和标志。

Constant 常量类
public class Constant {//常量包public static final int UP = 0;public static final int DOWN = 1;public static final int LEFT = 2;public static final int RIGTH = 3;
}
Direction 类:枚举类
public enum Direction {UP, DOWN, LEFT, RIGTH;
}
Test类测试类
public class Test {public static void main(String[] args) {//需求:模拟上下左右移动图片的场景//第一种方法是常量做信息标志和分类:但参数值不受约束move(Constant.UP);//第二种方法枚举做信息标志和分类System.out.println("___________第二种方法枚举做信息标志和分类___________");move1(Direction.DOWN);}//方法2:用枚举做信息标志和分类public static void move1(Direction direction){switch (direction){case UP:System.out.println("向上移动");break;case DOWN:System.out.println("向下移动");break;case LEFT:System.out.println("向左移动");break;case RIGTH:System.out.println("向右移动");break;default:System.out.println("无效的移动方向");}}//用常量做信息标志和分类public static void move(int direction){switch (direction){case Constant.UP:System.out.println("向上移动");break;case Constant.DOWN:System.out.println("向下移动");break;case Constant.LEFT:System.out.println("向左移动");break;case Constant.RIGTH:System.out.println("向右移动");break;default:System.out.println("无效的移动方向");}}
}/*
输出结果:
向上移动
___________第二种方法枚举做信息标志和分类___________
向下移动*/
