java中如何定义枚举类
时间: 2024-06-16 10:06:44 浏览: 15
在Java中,可以使用关键字"enum"来定义枚举类。枚举类是一种特殊的类,它表示一组具名的常量。
下面是定义枚举类的基本语法:
```java
enum 枚举类名 {
常量1,
常量2,
...
}
```
其中,枚举类名是自定义的枚举类型的名称,常量是枚举类型的取值。
例如,我们定义一个表示星期的枚举类:
```java
enum Weekday {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
```
在上述例子中,Weekday是枚举类的名称,它包含了7个常量,分别表示星期一到星期日。
你可以通过枚举类名和常量名来访问枚举常量。例如,要访问Weekday枚举类中的常量MONDAY,可以使用Weekday.MONDAY。
相关问题
Java中的枚举类
Java中的枚举类是一种特殊的数据类型,它可以定义一组常量,每个常量都有一个名称和一个值。枚举类在Java中是通过enum关键字来定义的。
以下是一个简单的枚举类的例子:
```java
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
```
在上面的例子中,我们定义了一个叫做Day的枚举类,它包含了七个常量:MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY和SUNDAY。
枚举类常量的值默认为它们在声明中的顺序,从0开始。但是,你也可以为每个常量显式地指定一个值,如下所示:
```java
public enum Day {
MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);
private int value;
private Day(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
```
在上面的例子中,我们为每个常量显式地指定了一个值,并且定义了一个value实例变量和一个getValue()方法来获取这个值。
枚举类常常被用于代表固定的一组值,如星期几、月份、颜色等等。你可以使用枚举类来增强程序的可读性和可维护性。
在Java中在类中定义枚举值
在 Java 中,可以使用关键字 `enum` 定义枚举类型,然后在类中使用该枚举类型。
例如,以下代码定义了一个名为 `Color` 的枚举类型,并在类 `Shape` 中使用了该枚举类型:
```java
public class Shape {
public enum Color { RED, GREEN, BLUE };
// ...
private Color color_;
// ...
}
```
在类中,可以像使用其他数据类型一样使用枚举类型,例如可以定义一个枚举类型的成员变量 `color_`,并在类的构造函数中进行初始化:
```java
public Shape(Color color) {
color_ = color;
// ...
}
```
在类外部,可以通过 `类名.枚举名` 的方式使用枚举类型及其成员:
```java
Shape shape = new Shape(Shape.Color.RED);
```
注意,枚举类型中的成员默认从 0 开始自动编号,也可以手动指定编号,例如:
```java
public enum Color { RED(1), GREEN(2), BLUE(4) }
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)