初識enum

1883 ワード

package cn.netjava.enumTest;
import static java.lang.System.out;
public class Demo1 {
	
	@org.junit.Test
	public void Test()
	{
		print(Grade.A);
	}
	public void print(Grade g)
	{
		out.println(g.juage());
	}
	@org.junit.Test
	public void Test1()
	{
		print1(Grade1.A);
	}
	public void print1(Grade1 g)
	{
		out.println(g.getValue());
	}

}
enum Grade
{
	A("5")
	{
		public String juage()
		{
			return " ";
		}
	},
	B("4")
		{
		public String juage()
		{
			return " ";
		}
	},
	C("3")
		{
		public String juage()
		{
			return " ";
		}
	},
	D("2")
		{
		public String juage()
		{
			return " ";
		}
	},
	E("1")
		{
		public String juage()
		{
			return " ";
		}
	};
	private String value;
	private Grade(String value)
	{
		this.value=value;
	}
	public String getValue()
	{
		return this.value;
	}
	public abstract String juage();
}
class Grade1
{
	private String value;
	private Grade1(String value){
		this.value=value;
	}
	public static final Grade1  A=new Grade1("5");
	public static final Grade1  B=new Grade1("4");
	public static final Grade1  C=new Grade1("3");
	public static final Grade1  D=new Grade1("2");
	public static final Grade1  E=new Grade1("1");
	public String getValue()
	{
		return this.value;
	}
}

jdk 5以降の新しい特性は、列挙の特性を初歩的に理解し、javaファイルが複数のクラスに名前を付けることができる知識を補充した.