package org.lgy.study.enumstudy;
public enum SeasonEnum{
//枚举类通过如下方式调用构造器
SPRING("春天", 3),SUMMER("夏天", 6),FALL("秋天", 9),WINTER("冬天", 12);
//枚举类的实例是在该类的第一行显式指定的,但依然可以定义构造器,只是构造器被强制为private权限,
//因此无法通过调用构造器来显示创建实例
SeasonEnum(String name,int mouth){
this.name = name;
this.mouth = mouth;
}
//枚举类就像普通类一样可以定义(静态)成员变量、(静态)成员方法
//枚举类的成员变量、成员方法的调用方式和普通类一样
private String name;
private int mouth;
public static String str = "******";
public void info(){
System.out.println(this + ",代表" + name + ",始于" + mouth + "月。");
}
public static void method1(){
System.out.println("------");
}
}
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){
System.out.println(SeasonEnum.str);
SeasonEnum.method1();
for(SeasonEnum s : SeasonEnum.values()){
s.info();
}
}
}