欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

枚举类:枚举类入门

程序员文章站 2022-05-22 08:30:16
...
package org.lgy.study.enumstudy;

/*
枚举类是一种特殊的类,它一样可以有自己的Field、方法,可以定义自己的构造器,可以实现一个或多个接口。
一个java源文件中只能定义一个public访问权限的枚举类,且该java源文件也必须和该枚举类的类名相同。

使用enum定义的枚举类默认继承了java.lang.Enum类,而不是继承Object类。其中,java.lang.Enum类实现了
java.lang.Serializable和java.lang.Comparable接口。

使用enum定义的、非抽象的枚举类默认使用final修饰,因此枚举类不能派生子类。

枚举类的构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private;
如果强制指定访问控制符,则只能指定private修饰符。

枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。
列出这些实例时,系统会自动添加public static final修饰符,无须程序员显式添加。
*/
public enum SeasonEnum{
	SPRING,SUMMER,FALL,WINTER;
}

 

package org.lgy.study.enumstudy;

public class EnumTest{
	public void judge(SeasonEnum season){
		//switch语句里的表达式可以是byte short char int String 枚举类
		//当switch控制表达式使用枚举类型时,后面case表达式中的值直接使用枚举值得名字,无须添加枚举类作为限定。
		switch(season)
		{
			case SPRING:
				System.out.println("Spring...");
				break;
			case SUMMER:
				System.out.println("Summer...");
				break;
			case FALL:
				System.out.println("Fall...");
				break;
			case WINTER:
				System.out.println("Winter...");
				break;
		}
	}
	
	public static void main(String[] args){
		EnumTest test = new EnumTest();
		for(SeasonEnum s : SeasonEnum.values()){
			System.out.println(s);
			test.judge(s);
		}
		
	}
}