/**
* @param args
*/
public class EnumTest {
// 定义一个enum
enum Color{
// 定义枚举内容
RED("红色"),GREEN("绿帽子"),YELLOW("×××文化");
//定义另外一个属性
private String desp;
// 注意该构造方法是私有的
private Color(String desp){
this.desp = desp;
}
// 定义另外一个方法
public String getDesp(){
return this.desp+":"+this.name();
}
}
//switch 中的 枚举类型
public void change(){
switch(favorate){
case RED: favorate = Color.GREEN;
break;
case GREEN : favorate = Color.YELLOW;
break;
case YELLOW :favorate = Color.RED;
break;
}
}
public Color favorate = Color.RED;
public static void main(String[] args) {
System.out.println("----------------枚举一些常用的方法---------------");
for(Color c :Color.values()){
System.out.println(c.getClass());
System.out.println(c.getDeclaringClass());
System.out.println(());//RED
System.out.println(c.compareTo(Color.RED));
System.out.println(c.ordinal());
System.out.println(c.equals(Color.RED));
System.out.println(c == Color.RED);
}
System.out.println("----------------测试枚举类型中定义的方法-----");
for(Color c :Color.values()){
System.out.println(c.getDesp());
}
System.out.println("-------------测试enum 的 switch 用法----------------------");
EnumTest test = new EnumTest();
Color color = Color.RED;
for(int i=0;i<=7;i++){
test.change();
System.out.println(test.favorate.getDesp());
}
}
}
class enumerated.randy.EnumTest$Color
class enumerated.randy.EnumTest$Color
RED
0
0
true
true
class enumerated.randy.EnumTest$Color
class enumerated.randy.EnumTest$Color
GREEN
1
1
false
false
class enumerated.randy.EnumTest$Color
class enumerated.randy.EnumTest$Color
YELLOW
2
2
false
false
测试枚举类型中定义的方法-----
红色:RED
绿帽子:GREEN
×××文化:YELLOW
测试enum 的 switch 用法
绿帽子:GREEN
×××文化:YELLOW
红色:RED
绿帽子:GREEN
×××文化:YELLOW
红色:RED
绿帽子:GREEN
×××文化:YELLOW
case RED: favorate = Color.GREEN;
break;
















