枚举类型的抽象方法定义实现


package com.lc.day02.EnumTest;

import org.junit.Test;

public class abstractEnumTest {

	@Test
	public void test() {
		print(Grade1.B);
	}

	public void print(Grade1 g) {
		String val = g.localValue();
		System.out.println(val);
	}

}

enum Grade1 {
	// A, B, C, D, E; //类的5个无参构造函数产生的对象

	A("100-90") {
		public String localValue() {
			return "优";
		}
	}

	,
	B("89-80") {
		public String localValue() {
			return "良";
		}
	}

	,
	C("79-70") {
		public String localValue() {
			return "一般";
		}
	}

	,
	D("69-60") {
		public String localValue() {
			return "差";
		}
	}

	,
	E("59-0") {
		public String localValue() {
			return "不及格";
		}
	};

	private String value;

	private Grade1(String value) { // 枚举类型的构造方法 要私有
		this.value = value;
	}

	public String getValue() {
		return this.value;
	}

	/*
	 * 枚举中的说抽象方法 则需要在创建对象的时候实现抽象方法的定义
	 */
	public abstract String localValue();
}


你可能感兴趣的:(Java技术提高)