您的位置:首页 > 编程语言 > Java开发

JDK1.5新特性之枚举中的构造函数及抽象方法

2014-05-09 20:19 204 查看
事实上,enum声明定义的类型就是一个类,而这些类都是类库中Enum类的子类(java.lang.Enum)。它们继承了Enum中许多有用的方法。

既然枚举类就是一个类,当然在枚举中有构造器,方法和数据域。

但是枚举中的构造器和普通类中的构造器有很大不同:

1:构造器只是在构造枚举值得时候被调用。

2:构造器只能是private类型,决不允许public类型【枚举是不能new对象的】。

在WEB开发中尝使用的枚举类型,如:性别。

public enum Gender {

	MAN{
		/*在静态变量中实现枚举的抽象方法*/
		public String getGender() {
			
			return null;
		}
		
	},
	WOMEN{
		/*在静态变量中师兄爱你枚举的抽象方法*/
		public String getGender() {
			
			return null;
		}
		
	};
	
	/*获取性别的抽象方法*/
	public abstract String getGender();
}


定义一个带有构造函数的枚举类型:

public enum TrafficLight {

	RED(30) {
		/* 实现枚举中的抽象方法 */
		public TrafficLight getNextLight() {
			return GREEN;
		}
	},
	GREEN(20) {
		/* 实现枚举中的抽象方法 */
		public TrafficLight getNextLight() {
			return YELLOW;
		}

	},
	YELLOW(10) {
		/* 实现枚举中的抽象方法 */
		public TrafficLight getNextLight() {
			return RED;
		}

	};

	/* 定义枚举的数据域:交通灯的时间 */
	private int times;

	/* 构造方法【必须为私有,且必须在静态成员变量之后】 */
	private TrafficLight(int t) {
		this.times = t;
	}

	/* 无参构造方法【必须为私有,且必须在静态成员变量之后】 */
	private TrafficLight() {
	}

	/* 定义获取下一个交通灯的 */
	public abstract TrafficLight getNextLight();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: