Java enum 枚举类型学习笔记

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值