枚举

来源:互联网 发布:淘宝消保标志 编辑:程序博客网 时间:2024/05/17 00:01

所谓的枚举就是规定了指定范围内的取值,所有的内容都从指定范围内取  ,否则就不成立

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());
}
}
};


0 0