解释一下在 Java 中使用枚举的限制?\
java 8object oriented programmingprogramming更新于 2024/11/11 20:42:00
Java 中的枚举 (enum) 是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天数、一年中的月份等。
您可以使用关键字 enum 定义枚举,后跟枚举的名称 −
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
注意事项
声明枚举时,需要牢记以下几点 −
- 建议将常量的名称全部大写,如下所示 −
public class EnumerationExample { enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } }
- 您可以在类内部定义枚举。
示例
public class EnumerationExample { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } public static void main(String args[]) { Days constants[] = Days.values(); System.out.println("Value of constants: "); for(Days d: constants) { System.out.println(d); } } }
输出
Value of constants: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
- 枚举中可以包含变量和方法,例如 −
enum Vehicles { Activa125, Activa5G, Access125, Vespa, TVSJupiter; int i; //变量 Vehicles() { //构造函数 System.out.println("枚举的构造函数"); } public void enumMethod() {//方法 System.out.println("这是一个枚举方法"); } }
但是,枚举的第一行必须始终是常量的声明,如果您编写任何其他内容,则会产生编译时错误−
enum Vehicles { int i; //变量 Activa125, Activa5G, Access125, Vespa, TVSJupiter; Vehicles() { //构造函数 System.out.println("枚举的构造函数"); } public void enumMethod() {//方法 System.out.println("这是一个枚举方法"); } }
编译时错误
Vehicles.java:1: error: <identifier> expected enum Vehicles { ^ Vehicles.java:2: error: ',', '}', or ';' expected int i; //variable ^ Vehicles.java:3: error: <identifiergt; expected Activa125, Activa5G, Access125, Vespa, TVSJupiter; ^ 3 errors
- 您不能在方法内定义枚举。如果您尝试这样做,将生成编译时错误,提示: “enum types must not be local”
public class EnumExample{ public void sample() { enum Vehicles { Activa125, Activa5G, Access125, Vespa, TVSJupiter; } } }
编译时错误
EnumExample.java:3: error: enum types must not be local enum Vehicles { ^ 1 error