1.简介
java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为:
- 枚举类继承了java.lang.Enum类,而不是默认的Object类。而java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable接口。
- 非抽象的枚举类默认会使用final修饰,因此不能派生子类
实例:
enum Weekend {
MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY,SATURADAY,SUNDAY;
}
枚举类的values方法返回一个列表
package com.example.main;
public class App {
public static void printDay(Weekend wd) {
switch (wd) {
case MONDAY:
System.out.println("today is monday...");
break;
case TUESDAY:
System.out.println("today is tuesday...");
break;
case WEDNESDAY:
System.out.println("today is wednesday...");
break;
case THURSDAY:
System.out.println("today is thursday...");
break;
case FRIDAY:
System.out.println("today is friday...");
break;
case SATURADAY:
System.out.println("today is saturday...");
break;
case SUNDAY:
System.out.println("today is sunday...");
break;
}
}
public static void main(String[] args) {
printDay(Weekend.SUNDAY);
for (Weekend wd : Weekend.values()) {
System.out.println(wd);
}
}
}
enum Weekend {
MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY,SATURADAY,SUNDAY;
}
2.带有构造方法的枚举类
enum WeekendWithG {
MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"),
THURSDAY("星期四"),FRIDAY("星期五"),SATURADAY("星期六"),
SUNDAY("星期日");
private final String name;
private WeekendWithG(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
网友评论