English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo puede Java llamar a otro valor de enumeración en el constructor de una enumeración?

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

Te gustará