JDK1.5之前的枚举类的设计
//将有限的对象创建好,一般将public static final修饰的变量全大写
public static final Gender MAN=new Gender("男");
public static final Gender WOMAN=new Gender("女");
public static final Gender OTHER=new Gender("其他");
public String name;
public class Test {
public static void main(String[] args) {
new Student("张三",Gender.MAN.name);
}
}
现在设计的枚举类
public enum Sex {
MAN("男"),//等价于public static final Gender MAN=new Gender("男");
WOMAN("女"),
OTHER("其他");
public String name;
//构造方法不能用public修饰
private Sex(String name){
this.name=name;
}
}
public class Test {
public static void main(String[] args) {
new Student("李四",Sex.MAN.name);
}
}
枚举类的应用:创建一个季节枚举类,输入一个月份判断是什么季节?
public enum Seaon {
SPRING("春季"),
SUMMER("夏季"),
FALL("秋季"),
WINTER("冬季");
String name;
Seaon(String name) {
this.name = name;
}
}
public class SeaonTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入1-12的整数:");
int i = scanner.nextInt();
switch (i){
case 12:
case 1:
case 2:
System.out.println(Seaon.WINTER.name);
break;
case 3:
case 4:
case 5:
System.out.println(Seaon.SPRING.name);
break;
case 6:
case 7:
case 8:
System.out.println(Seaon.SUMMER.name);
break;
case 9:
case 10:
case 11:
System.out.println(Seaon.FALL.name);
break;
}
}
}