第六章 枚举
概念
枚举 : 对象是可数的确定的特殊类型
注意事项
-
-
枚举类的构造器必须是私有的.
-
枚举类型不能创建对象
-
根据常量对象名获取对应的对象, 大小写敏感
enum TrafficSignal {
//public static final TrafficSignal STOP = new TrafficSignal(60);
//public static final TrafficSignal GO = new TrafficSignal(50);
//public static final TrafficSignal CAUTION = new TrafficSignal();
STOP(60), GO(50), CAUTION; // 后面如果还有东西, 则需要;
private int seconds = 30;
private TrafficSignal() {
}
// 枚举类的构造器必须是私有的.
private TrafficSignal(int seconds) {
this.seconds = seconds;
}
public int getSeconds() {
return seconds;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
枚举和switch
public enum Week {
MON, TUE, WED, THU, FRI, SAT, SUN
}
public class WeekTest {
//在TestWeek类中声明方法void printWeek(Week week),根据参数值打印相应的中文星期字符串。
//然后以第2步中的枚举值调用printWeek方法,输出中文星期。
public void printWeek(Week week) {
switch (week) {
case MON:
System.out.println("星期一");
break;
case TUE:
System.out.println("星期二");
break;
case WED:
System.out.println("星期三");
break;
case THU:
System.out.println("星期四");
break;
case FRI:
System.out.println("星期五");
break;
case SAT:
System.out.println("星期六");
break;
case SUN:
System.out.println("星期日");
break;
}
}
//在main方法中从命令行接收一个1-7的整数(使用Integer.parseInt方法转换),
// 分别代表星期一至星期日,打印该值对应的枚举值,
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
if (n < 1 || n > 7) {
System.out.println("星期数据不对!! 请重试");
return;
}
Week[] arr = Week.values();
Week week = arr[n - 1];
System.out.println(week);
WeekTest weekTest = new WeekTest();
weekTest.printWeek(week);
}
}
浙公网安备 33010602011771号