目录
枚举简介语法常用方法作者简介枚举类型取代了以往常量定义的方式,将常量封装在类或接口中,枚举类型本质上还是以类的形式存在(可以变量和方法)。
[enum][1]是定义枚举类型关键字。
public enum Size { SMALL, MEDIUM, LARGE;// 定义枚举类型成员时必须为第一条语句 Size(){System.out.println(构造方法);}; public static void main(String[] args){} //主方法 }从上文很容易看出在定义枚举类型成员变量时会自动调用构造函数,如无构造函数则会调用默认构造函数。 在程序运行时上文相当于执行了如下的代码:
public static final size SMALL=new size(); public static final size MEDIUM=new size(); public static final size LARGE=new size(); //因此调用了三次构造函数输出三次枚举类型可以看作是普通的类(除了不能继承),当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例。在虚拟机中加载枚举类型时,会预先创建多给枚举类型对象。
定义枚举类型元素时必须为第一条语句
这些枚举类型元素都默认被public、static、final修饰,所以当使用枚举类型成员时直接使用枚举类型名称调用枚举类型成员即可。
Size.SMALL;对于枚举类型的元素,其命名方式与常量相同,即全部使用大写字母。
构造方法由其内部调用且定义的构造方法都为private修饰符所修饰,因此不允许外部使用new来构造枚举类型对象。
枚举类型也要求其枚举元素各不相同。
枚举类型的一种方便用法是它可以用在switch语句中
public String getsize(Size size){ //参数为枚举类型 switch (size){ case SMALL://在case子句中,可以直接使用枚举元素而不需要使用枚举类型来引用该元素。 return "小号"; case MEDIUM: return "中号"; case LARGE: return "大号"; default: return null; // 如果在case子句中调用return,则编译器要求switch语句必须有default子句。 } }通常情况下,switch语句只能用于整数值,但由于枚举元素在定义时编译器会自动为其生成整数序号(其中初始常量序数为零,依次排序),这些序号可以通过 ordinal() 方法查看。
导入导出Markdown文件
丰富的快捷键输出结果如下: 枚举类型变量SMALL 枚举类型变量MEDIUM 枚举类型变量LARGE
作者笔名:一尘埃,计算机专业2015级,就读于沈阳,qq:1169885255。 作者学习计算机年龄较短,有不少学习错误,十分欢迎各位计算机大神留言指导。