天天看点

Java——枚举相关用法

当某个类型的对象是固定的,有限几个,就可以选择使用枚举

  1. 声明
    【修饰符】 enum 枚举类型名{
    	常量对象列表
    }
    【修饰符】 enum 枚举类型名{
    	常量对象列表;
    	其他的成员列表
    }
               

说明:

(1)如果常量对象列表后面还有其他的成员,那么需要在常量对象列表后面加;进行分割

(2)常量对象后面没有(“值”)就是调用无参构造;常量对象后面有(“值”)就是调用有参构造

(3)枚举类型不能继承其他类,因为枚举类型有一个隐含的父类java.lang.Enum,枚举的公共父类是Enum,根父类依然是Object

1.Enum类中有一个唯一的构造器

protected Enum(String name,int ordinal)这个构造器不是程序员手动调用的,是编译器自动调用,在所有枚举类型的构造器的受寒帮我们自动调用,并且自动传入name和ordinal的值

name:常量对象 ordinal:常量对象的序号,其中初始常量序数为零

2.String name():返回常量名称

int ordinal():返回常量对象序号

String toString()在Enum雷总重写了Object类的toString方法,返回常量对象名;

3.编译器生成的方法

枚举类型[] values()

枚举类型 valueOf(String name)

public class TextEnum {
	public static void main(String[] args) {
		Season s=Season.FALL;
		System.out.println(s);
		Season[] all=Season.values();
		for (int i = 0; i < all.length; i++) {
			System.out.println(all[i]);
		}
	Season spring=Season.valueOf("SPRING");
	System.out.println(spring);
	}
}
enum Season{
	SPRING("春"),SUMMER,FALL,WINTER;
	private String description;
	private Season(String description) {
		this.description = description;
	}
	private Season() {
	}
}