所谓的枚举就是规定了指定范围内的取值,所有的内容都从指定范围内取 ,否则就不成立
public enum Color{
LEFT,RIGHT,FRONT;
};
输出所有枚举
public class PrintEnumDemo01
{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.println(c);
}
}
};
还可以直接将内容在SWITCH上输出
public class PrintEnumDemo02
{
public static void main(String args[]){
for(Color c:Color.values()){
print(c);
}
}
public static void print(Color color){
switch(color){
case LEFT:{
System.out.println("向左转");
break;
}
case RIGHT:{
System.out.println("向右转");
break;
}
case FRONT:{
System.out.println("向前走");
break;
}
default:{
System.out.println("哪都不去");
break;
}
}
}
};
protected Enum(String name, int ordinal)
-
单独的构造方法。程序员无法调用此构造方法。该构造方法用于由响应枚举类型声明的编译器发出的代码。
-
参数:
-
name
- - 此枚举常量的名称,它是用来声明该常量的标识符。 -
ordinal
- - 枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零) -
-
- 下面就通过一段代码来验证下
-
public class PrintEnumDemo03
{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.println(c.ordinal()+"\n"+c.name());
}
}
};
- 如果想在里面添加一些文字类信息,则需要在里面构造方法,及属性
- 但是一旦定义有参的构造方法,则在声明枚举类的时候就需要明确调用构造方法并传入参数
-
enum Color{
RED("红色"),GREEN("绿色"),BLUE("蓝色");
private String name;
private Color(String name){
this.setName(name);
}
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
};
public class PrintEnumDemo05
{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.println(c.ordinal()+"\n"+c.name()+"\n"+c.getName());
}
}
};
-
-