我们可以在Java中使用自定义值创建一个枚举吗?

Java中的枚举(枚举)是一种存储一组常量值(通常为字符串)的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。

enum Days {

   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY

}

自定义常量值

除了在枚举中仅声明字符串常量,您还可以将这些常量的值设置为-

enum Vehicles {

   ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);

}

无论何时,您都需要为枚举的常量分配自定义值-

  • 要保存每个常量的值,您需要有一个实例变量(通常是私有的)。

  • 您不能显式创建枚举的对象,因此,您需要添加参数化的构造函数以初始化值。

  • 初始化只能执行一次。因此,必须将构造函数声明为私有或默认。

  • 使用实例方法(getter)返回常量的值。

示例

在下面的Java示例中,我们定义一个名称为Vehicles的枚举,并声明五个常量,这些常量表示车辆名称,并将其价格作为值。

enum Vehicles {

   //带值的常量

   ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);

   //实例变量

   private int price;

   //Constructor to initialize the 实例变量

   Vehicles(int price) {

      this.price = price;

   }

   public int getPrice() {

      return this.price;

   }

}

public class EnumTest{

   public static void main(String args[]) {

      Vehicles vehicles[] = Vehicles.values();

      for(Vehicles veh: vehicles) {

         System.out.println("Price of "+veh+" is: "+veh.getPrice());

      }

   }

}

输出结果

Price of ACTIVA125 is: 80000

Price of ACTIVA5G is: 70000

Price of ACCESS125 is: 75000

Price of VESPA is: 90000

Price of TVSJUPITER is: 75000

以上是 我们可以在Java中使用自定义值创建一个枚举吗? 的全部内容, 来源链接: utcz.com/z/351472.html

回到顶部