枚举:每一个枚举就是一个对象。
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
public class WeekDay{
private WeekDay(){}
public final static WeekDay SUN = new WeekDay();//final和static排前排后没有区别
public final static WeekDay MON = new WeekDay();
}
主函数:
WeekDay weekDay = new WeekDay.MON://这样就可以规定死应该有多少个数量
A:枚举类的基本应用
Public enum WeekDay{
SUN,MON,TUE,WED,THI,FRI,SAT;//分号可打可不打,如果元素列表后面有东西则必须打上分号
}
1,枚举就相当于一个类,类中的元素就相当于该类new出来的实际对象
2,枚举自动实现了toString()、name()自己的对象名、ordinal()自己的排行、getClass(),因为枚举的元素是个对象,这个方法可以得到该对象所属的类。
B:带有构造方法的枚举类
Public enum WeekDay{
SUN,MON,TUE,WED,THI,FRI,SAT;//等效于静态的成员变量
//上面的元素列表,必须显示在所有其他的定义信息的前面,如果元素列表后面还有东西,该元素列表必须标上分号且用private修饰
private WeekDay(){}//默认调用的构造方法,这样SUN()也行
private WeekDay(int day){}//SUN(1),这样就调用了此构造方法
}