枚举
第一种:不带属性的枚举(作用:常量,switch判断)
enum Day {
//实例之间,用逗号隔开。
MONDAY, TUESDAY, THIRSDAY, FORTHDAY, FRIDAY
}
public class EnumInner {
public static void main(String[] args) {
// 作为常量使用
//所有的枚举都会自动继承java.lang.Enum抽象类。这里面有定义了name()方法并重写了tostring()方法,返回实例名
System.out.println(Day.MONDAY.name());
//作为switch判断
Day type = Day.THIRSDAY;
switch (type) {
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
case THIRSDAY:
System.out.println("星期三");
break;
case FORTHDAY:
System.out.println("星期四");
break;
case FRIDAY:
System.out.println("星期五");
break;
default:
System.out.println("周末");
}
}
}
第二种:带属性(实例放在首位)
public enum EnumInner {
/**
* 实例之间,用逗号隔开。并在首位。
*/
MONDAY("星期一"),
TUESDAY("星期二"),
THIRSDAY("星期三"),
FORTHDAY("星期四"),
FRIDAY("星期五");
/**
* 下面就是和声明一个Java类一样。其实enum就是一个特殊java类
*/
private String param;
/**
* 枚举的构造方法都是私有的,或者是默认修饰符,不能用public修饰符。
*/
EnumInner(String param1) {
this.param = param1;
}
/**
* 通过提供方法,供外部获得实例的参数值
*/
public String getParam() {
return param;
}
public static void main(String[] args) {
System.out.println(EnumInner.MONDAY.getParam());
}
}