package testPackge;
import static java.lang.System.out;
public class TestPackge {
private enum InnerAction{
LEFT,RIGHT,SHOOT;
};
private enum OutterAction{//其实 enum也算是一个类 他也有自己的构造方法,下面就相当于他使用自己的构造方法
RIGHT("向右"),SHOOT("射击"),LEFT("向左");
private String desc;
private OutterAction(String desc){
this.desc=desc;
}
public String ReturnDesc() {
return this.desc;
}
};
private enum AbsAction{
RIGHT{
public String getDesc(){
return "向左转";
}
},
LEFT{
public String getDesc(){
return "向右转";
}
},
SHOOT{
public String getDesc(){
return "射击";
}
};
public abstract String getDesc();
}
public static void main(String[] argc){
switch (InnerAction.LEFT) {
case RIGHT:
out.println("right");
break;
case LEFT:
out.println("left");
break;
default:
break;
}
for(InnerAction action:InnerAction.values()){
out.println(action);// 如果是用 println 会自动调用 action的 toString方法,所以可以不写
}
InnerAction left=InnerAction.LEFT; //equals 判断两个枚举对象 内容是否相同
if(left.equals(InnerAction.LEFT)){
out.println("equals");
}
for(InnerAction action:InnerAction.values()){
out.println(action.compareTo(InnerAction.RIGHT));//使用compareTo判断现在的位置在InnerAction.RIGHT的前后,前-1,0,后1
}
for(OutterAction outionAction:OutterAction.values()){//为 OutterAction加构造方法并且 得到返回值
out.println(outionAction.ReturnDesc());
}
for(AbsAction absAction:AbsAction.values()){//为 OutterAction加构造方法并且 得到返回值
out.println(absAction.getDesc());
}
}
}
Java enum 枚举类型学习笔记
最新推荐文章于 2024-06-18 14:38:46 发布