English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java中的枚举(enum)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。
您可以使用关键字 enum 定义枚举,后跟枚举 的名称为-
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
枚举类似于类,并且可以在其中包含变量,方法(仅具体方法)和构造函数。
假设我们在枚举中的元素值为-
enum Scoters { ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000); }
要在其中定义一个构造函数,首先要声明一个实例变量来保存元素的值。
private int price;
然后,声明一个初始化上面创建的实例变量的参数化构造函数。
Scoters(int price) { this.price = price; }
用另一个枚举中的值初始化枚举。
声明所需的枚举作为实例变量。
使用参数化的构造函数对其进行初始化。
import java.util.Scanner; enum State{ Telangana, Delhi, Tamilnadu, Karnataka, Andhrapradesh } enum Cities { Hyderabad(State.Telangana), Delhi(State.Delhi), Chennai(State.Tamilnadu), Bangalore(State.Karnataka), Vishakhapatnam(State.Andhrapradesh); //实例变量 private State state; //Constructor inicializa las variables de instancia Cities(State state) { this.state = state; } //Mostrar país/Método estático de la región public static void display(int model){ Cities[] constants = Cities.values(); System.out.println("El estado de:");+constants[model]+" es "+constants[model].state); } } public class EnumerationExample { public static void main(String args[]) { Cities[] constants = Cities.values(); System.out.println("Valor de constantes:"); for(Cities d: constants) { System.out.println(d.ordinal())+: "+d); } System.out.println("Seleccione un modelo:"); Scanner sc = new Scanner(System.in); int model = sc.nextInt(); //Llamar al método estático de la enumeración Cities.display(model); } }
Resultado de salida
Valor de constantes: 0: Hyderabad 1: Delhi 2: Chennai 3: Bangalore 4: Vishakhapatnam Seleccione un modelo: 2 El estado de Chennai es Tamilnadu