黑马程序员——枚举功能及演示

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

枚举(JDK1.5):

为什么要有枚举:在定义一个星期的星期几、一个人的性别的时候为了避免在编写源程序的时候出现星期八,性别Female/Mele等非法变量值的出现

用普通类实现枚举功能:1、私有的构造方法 2、定义公有静态常量作为元素 3可以提供若干公有方法或抽象方法

普通类实现枚举功能代码实例:

public class Sex{
	private Sex(){};
	public static Sex MAN = new Sex();
	public static Sex WOMAN = new Sex();
	public String toString(){
		return this == MAN ? "MAN" : "WOMAN";
	}
}
//如果其中包含有抽象方法就将每个静态常量分别定义为一个个匿名内部类来实现

简单的枚举类:

public enum Sex{
	MAN, WOMAN
}

枚举类中提供的方法:
	toString()、name()、ordinal()等
	静态:valueOf()、values()等

枚举类的内部构造方法:

public enum WeekDay{
	//必须将枚举的元素放在前面
	SUN(1), MON(), TUE,....;	
	//运行哪一个构造方法由元素所带的参数决定
	private WeekDay(){
		System.out.println("first");
	}
	private WeekDay(int x){
		System.out.println("second");
	}	
}

交通灯中使用的枚举:

public enum TrafficLamp{
	RED(30){
		public TrafficLamp nexLamp() {
			return GREEN;
		}
	},
	GREEN(45){
		public TrafficLamp nexLamp(){
			return YELLOW;
		}

	},
	YELLOW(5){
		public TrafficLamp nexLamp(){
			return RED;
		}
	},
	public abstract TrafficLamp nexLamp();
	private int time;
	private TrafficLamp(int time){
		this.time = time;
	}
}


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值