sample36_3.java

来自「Java SE 6.0前32-34章示的示例代码,简单易学」· Java 代码 · 共 106 行

JAVA
106
字号
package wyf.jc;
//表示成绩级别的枚举类型
enum Grade 
{
	//创建表示“优”的枚举值	
	HIGH_DISTINCTION("优")
	{
		//实现提升成绩等级的方法
		public Grade upperGrade()
		{
			return this;
		}
		//实现降低成绩等级的方法
		public Grade lowerGrade()
		{
			return DISTINCTION;
		}		
	},
	//创建表示“良”的枚举值
	DISTINCTION("良")
	{
		//实现提升成绩等级的方法
		public Grade upperGrade()
		{
			return HIGH_DISTINCTION;
		}
		//实现降低成绩等级的方法
		public Grade lowerGrade()
		{
			return CREDIT;
		}		
	},
	//创建表示“中”的枚举值
	CREDIT("中")
	{
		//实现提升成绩等级的方法
		public Grade upperGrade()
		{
			return DISTINCTION;
		}
		//实现降低成绩等级的方法
		public Grade lowerGrade()
		{
			return PASS;
		}		
	},
	//创建表示“及格”的枚举值
	PASS("及格")
	{
		//实现提升成绩等级的方法
		public Grade upperGrade()
		{
			return CREDIT;
		}
		//实现降低成绩等级的方法
		public Grade lowerGrade()
		{
			return FAIL;
		}		
	},
	//创建表示“不及格”的枚举值
	FAIL("不及格")
	{
		//实现提升成绩等级的方法
		public Grade upperGrade()
		{
			return PASS;
		}
		//实现降低成绩等级的方法
		public Grade lowerGrade()
		{
			return FAIL;
		}		
	};					
	//声明表示成绩等级成员变量
	private String gradeString;	
	//枚举类型的构造器
	Grade(String gradeString)
	{
		this.gradeString=gradeString;
	}
	//重写toString方法
	public String toString()
	{
		return this.gradeString;
	}
	//提升成绩等级的方法
	public abstract Grade upperGrade();
	//降低成绩等级的方法
	public abstract Grade lowerGrade();
}
//主类
public class Sample36_3
{
	public static void main(String args[])
	{
         //打印枚举值的信息
         System.out.println("HIGH_DISTINCTION等级的字符串表示为:"
                                        +Grade.HIGH_DISTINCTION.toString());
         System.out.println("HIGH_DISTINCTION等级下一级的字符串表示为:"
                            +Grade.HIGH_DISTINCTION.lowerGrade().toString());
         System.out.println("FAIL等级上一级的字符串表示为:"
                            +Grade.FAIL.upperGrade().toString());                    
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?