import java.lang.management.MonitorInfo;
/*
* 18/11/22
* 枚举类
* 1.创建一个enum时,由编译器生成一个相关的类默认继承java.lang.Enum而不是继承Object.
* 2.枚举类的构造函数只能使用private修饰(如果忽略了修饰符,默认为private).
* 3.枚举类的所有实例必须在枚举类中显示列出(系统默认给他们加上public static final修饰,无需手动添加).
* 4.因此,定义一个枚举类,那么该类必须是有穷的.
* 5.必须先定义实例,再定义方法或者属性
*/
public class EnumTest06 {
public static void main(String[] args){
Week day1=Week.MON;
Week day2=Week.TUES;
System.out.println(day1.day());
System.out.println(day2.day());
System.out.println(Week.values().length);
System.out.println(day1.getNeedWork());
/*特别注意:
这里的day()方法,编辑器会在Week枚举类中找有无day()方法。
*/
}
public enum Week{
/*
* 以下MON,TUES,WEN,THUR,FRI,SAT,SUN都为实例
* 注意:必须先定义实例,再定义方法或者属性
*/
MON("星期一吃鱼"){
public String day(){
return " 星期一";
}
},
TUES("星期二吃鱼"){
public String day(){
return " 星期二";
}
},
WEN("星期三吃鱼"){
public String day(){
return " 星期三";
}
},
THUR("星期四吃鱼"){
public String day(){
return " 星期四";
}
},
FRI("星期五吃鱼"){
public String day(){
return " 星期五";
}
},
SAT("星期六吃鱼"){
public String day(){
return " 星期六";
}
},
SUN("星期日吃鱼"){
public String day(){
return " 星期日";
}
}; //分号不要打掉
public String needWork;
private Week(String needWork){
this.needWork=needWork;
}
public String getNeedWork(){
return this.needWork;
}
public abstract String day(); //这里的day()方法,编辑器会在Week枚举类中找有无day()方法。
}
}