java enum 初始值_java enum无法赋初始值
时间: 2023-07-26 20:03:56 浏览: 88
Java中的枚举类型可以设置初始值,如下所示:
```java
public enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");
private String name;
private Color(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
在枚举类型中,我们可以定义任意数量的构造函数,并且可以在每个枚举常量上使用不同的构造函数。这使得我们可以为每个枚举常量设置不同的初始值。
需要注意的是,枚举类型中的每个常量都是该类型的一个实例,因此我们无法直接为枚举类型设置初始值。但是,我们可以在枚举类型中定义构造函数,并在每个枚举常量上使用不同的构造函数来设置初始值。
相关问题
enum 初始值 存储位置
`enum` (枚举) 是 Java 中的一种特殊数据类型,用于定义一组固定的常量。在 Java 中,当你声明一个 `enum` 类型,并未指定初始值时,编译器会自动为每个成员变量提供默认的整数值作为初始值,从 0 开始递增,直到最后一个元素为止。
例如:
```java
public enum Color {
RED(1),
GREEN(2),
BLUE(3);
private int value;
// 枚举构造函数
Color(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
```
在这个例子中,`RED` 的初始值是 1,`GREEN` 是 2,`BLUE` 是 3。这些枚举常量的存储位置实际上是按照它们在定义列表中的顺序排列的,在内存中可能会紧密相邻。
typedef enum { Bit_RESET = 0, Bit_SET }BitAction;
这是一个枚举类型的定义,其中包含两个枚举值:Bit_RESET 和 Bit_SET。在使用该枚举类型时,可以使用这两个枚举值来表示某个操作的状态,比如表示某个位的值为0或1。同时,该枚举类型还定义了一个别名 BitAction,方便在代码中使用。例如,可以使用以下语句来声明一个变量并初始化为 Bit_RESET:
```
BitAction myBit = Bit_RESET;
```
阅读全文