Java学习之枚举

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看什么是枚举?如何定义枚举?

1 枚举的定义
格式:

Enum 枚举类型名{
枚举值,
    枚举值,
    ......
   枚举值;
}

例子:定义枚举,表示四季(春夏秋冬)。
2种方式: 普通的枚举,带构造方法的枚举

package cn.njit.meiju;
/****
 * 枚举类型
 * @author Administrator
 *
 */
public class Demo_1015 {
	public static void main(String[] args) {
		Season sea=Season.Fall;
		System.out.println(sea);
		Season_2 s1=Season_2.Autumn;
		System.out.println(s1.getSea());
	}
}

enum Season{
	Spring,Summer,Fall,Winter;	
}

enum Season_2{
	Spring("春天"),
	Summer("夏天"),
	Autumn("秋天"),
	Winter("冬天");
	private String sea;
	private Season_2(String sea) {
		this.sea=sea;
	}
	public String getSea() {
		return sea;
	}
	public void sayHello() {
		System.out.println("Hello,luowen");
	}
}

在这里插入图片描述

2 枚举实现接口
由于Java单继承的原因,enum类并不能再继承其它类,但并不妨碍它实现接口,因此enum类同样是可以实现多接口的。

package cn.njit.meiju;

	public enum Day implements Show{
		MONDAY("星期一"), 
		TUESDAY("星期二"), 
		WEDNESDAY("星期三"), 
		THURSDAY("星期四"), 
		FRIDAY("星期五"), 
		SATURDAY("星期六"), 
		SUNDAY("星期日");// 记住要用分号结束
		String desc;
		private Day(String desc) { //把构造函数申明为private,可以防止被实例化
			this.desc=desc;
		}
		
		public String getDesc(){
	        return desc;
	    }

		@Override
		public void show() {
			System.out.println("desc:"+desc);	
			
		}
	
	public static void main(String[] args) {
		Day d=Day.MONDAY;
		d.show();


	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AirTrioa/article/details/83064030