java怎么定义枚举

Python019

java怎么定义枚举,第1张

在Java中,枚举(enum)与类(class)、接口(interface)属于同一个级别。

使用枚举的Java程序:

public class Main {

public static void main(String[] args) {

Week w = Week.Monday

System.out.println(w)

}

}

//定义枚举

enum Week {

Sunday,

Monday,

Tuesday,

Wednesday,

Thursday,

Friday,

Saturday

}

运行测试:

Monday

由于每个程序员在开始编程时一般会首先学习C/C++,然后再学习Java,在C++中枚举是可以定义枚举值为特定的整数的,但这在Java中却没有得到支持,大概C/C++中的枚举代表了数值型常量多一些,而Java中枚举值,更确切的说为枚举类型对象。在Java中定义一个简单的枚举类如下所示。

枚举(从JDK1.5开始有)

用于代表”实例已经固定“的类,而且定义时就必须在【第一行】创建初始化并列出来。

语法格式:

修饰符 enum 枚举名{

//立即在第一行列出该枚举的所有实例。

}

—— 修饰符 可以是 public | 省略 | abstract | final。 abstract与final必须出现其中一个。

—— 枚举的构造器只能用private修饰。

—— 枚举类的实例必须在第一行显式的列出。

所有的枚举都有一个values()方法,返回枚举实例

switch(byte|short|char|int|String|枚举)

●有了枚举之后,它的实例已经创建出来了,只需要用它们就行了。

●枚举可以有Field,方法,构造器(只能是private修饰),初始化块,内部类。

列出枚举值,并不是简单的定义几个枚举值的变量名。

而是调用枚举类的构造器来创建相应的实例。

定义枚举的方法时要非常小心,

●包含抽象方法的枚举类

●枚举可以实现接口。

A。实现接口,并直接实现所有的抽象方法。

此时枚举类不再是抽象枚举了。

B。实现接口,但并不直接实现抽象方法。

此时枚举类就只能是抽象枚举类。