1.枚举是什么?
枚举是Java中的一种特殊类型。
2.枚举的作用
是为了做信息的标志和分类。
3.枚举的语法
定义语法:
修饰符 enum 枚举名称 {
第一行都是罗列枚举类实例的名称。
}
/**
* 枚举类
*/
public enum Season {
//枚举的第一行必须罗列枚举类的对象名称,建议全部大写。
SPRING,SUMMER,AUTUMN,WINTER;
}
反编译观察枚举的特征
反编译:
先将枚举类代码复制到一个新的.java文件,放在桌面,文件名与类名相同
打开命令行窗口,cd到此文件路径下使用javac命令编译成字节码文件,再使用javap命令进行反编译,得到以下代码后,便可观察到枚举的特征。
4.枚举的特征
枚举类都是继承枚举类型:java.lang.Enum;
枚举类都是有final修饰为最终类,不能被继承;
枚举类的构造器是私有化的,因此枚举对外不能创建对象;
枚举的第一行默认都是罗列枚举对象的名称;
5.枚举做信息标志和分类
案例说明:
现在开发的超级玛丽游戏需要接收用户输入的四个方向的信号(上下左右),以便于控制玛丽的移动方向。
选择常量做信息标志和分类:
虽然可以实现可读性,但是入参不受约束,代码相对不够严谨。
//这里虽然定义了常量,实现了可读性
//这样就会导致bug,按钮功能丢失。
选择枚举做信息标志和分类:
代码可读性好,入参约束严谨,代码优雅,是最好的信息分类技术!建议使用!
定义一个枚举类:
switch会配合枚举完成信息的标志和分类
这样别人就不能随便乱传入数据,严谨又优雅,可读性非常好。
常量和枚举各有各的用处,看具体场景业务