【黑马程序员】java基础加强_枚举

------- android培训java培训、期待与您交流! ----------

枚举这个名词,以前听过,但是没有深层次的接触,今天在张孝祥老师的视屏中好好的接触的了一番。接下里就是我通个视频学习对枚举做的一些总结。


首先,枚举是JDK 1.5之后才出现的新特性,虽然是一个小功能,但是很大程度上的方便了编写代码的过程。


枚举有很多种用法,在视屏中,张老师提到了四种:

1、对常量使用。

1.5版本 之前定义常量 都是  public static final XXX XXX = XXX;当要定义大量的常量的时候  急需要大量的这一段代码,显然,这是非常麻烦的事情,枚举这个功能的出现,很好的解决了这个问题,例如一个星期的日期:

public enum WeekDay {  
  SUN, MON,TUE,WED,THU,FRI,SAT  
}  

这样,方便又直观,同时省去不少麻烦。

2、结合switch使用

enum Signal {  
    GREEN, YELLOW, RED  
}  
public class TrafficLight {  
    Signal color = Signal.RED;  
    public void change() {  
        switch (color) {  
        case RED:  
            color = Signal.GREEN;  
            break;  
        case YELLOW:  
            color = Signal.RED;  
            break;  
        case GREEN:  
            color = Signal.YELLOW;  
            break;  
        }  
    }  
}  

3、枚举中的元素可以拥有自己的内部类和属性,以红绿灯为例子:

	public enum TrafficLamp{
		RED(40){
			public TrafficLamp nextLamp() {
				return GREEN;
			}
			
		},
		GREEN(99){
			public TrafficLamp nextLamp() {
				return YELLOW;
			}
			
		},
		YELLOW(3){
			public TrafficLamp nextLamp() {
				return RED;
			}
			
		};
		
		private int time;
		private TrafficLamp(int time){this.time = time;}
		
		public abstract TrafficLamp nextLamp();
	}
}

在这段代码中,有红绿黄三种状态,分别为RED、GREEN、YELLOW,没种灯色都带有自己的内部类,返回下一个灯的颜色,并且颜色后面可以通过()中的属性,指定触发时间,这种方式方便又简单,而且非常直观。

4、能向枚举中添加方法和覆盖枚举的方法。

需要注意的是,如果需要向枚举中添加自定义的方法,则需要在枚举的最后一个元素后面加上分号。


5、第五点是我通过晚上查阅相关资料以及API文档发现的,就是枚举集合的存在,暂时还不会用,有待研究。


以上是看完张老师的视频后的一些小总结,一方面整理一下,一方面加深枚举的印象,这样才能得到提高。

总之,枚举是个很方便的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值