如何使用 Java 在枚举构造函数内调用其他枚举值?
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), Banglore(State.Karnataka), Vishakhapatnam(State.Andhrapradesh);
//Instance variable
private State state;
//Constructor to initialize the instance variable
Cities(State state) {
this.state = state;
}
//Static method to display the country
public static void display(int model){
Cities constants[] = Cities.values();
System.out.println("State of: "+constants[model]+" is "+constants[model].state);
}
}
public class EnumerationExample {
public static void main(String args[]) {
Cities constants[] = Cities.values();
System.out.println("Value of constants: ");
for(Cities d: constants) {
System.out.println(d.ordinal()+": "+d);
}
System.out.println("Select one model: ");
Scanner sc = new Scanner(System.in);
int model = sc.nextInt();
//Calling the static method of the enum
Cities.display(model);
}
}输出
Value of constants: 0: Hyderabad 1: Delhi 2: Chennai 3: Banglore 4: Vishakhapatnam Select one model: 2 State of: Chennai is Tamilnadu
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP