黑马程序员-枚举

来源:互联网 发布:知乎大神 编辑:程序博客网 时间:2024/05/19 04:03
------- android培训、java培训、期待与您交流! ----------
枚举:要让某个类型的变量的取值只能为若干个固定值中的一个,否则,
编译器就会报错。枚举可以让编译器在编译时就可以控制程序中填写的
非法值。
用普通类如何实现枚举功能:
1,私有构造方法
2,每个元素分别用一个公有的静态成员变量表示
3,可以有若干个公有方法或抽象方法。采用抽象方法定义方法可以将大量
的if else语句转移成一个个独立的类。

public class EnumTest{public static void main(String[] args){WeekDay weekday = WeekDay.FRI;System.out.println(weekday);System.out.println(weekday.ordinal());System.out.println(WeekDay.valueOf("THI"));System.out.println(WeekDay.values());}}public enum WeekDay{SUN,MON,TUE,WED,THI,FRI,SAT;}



枚举是一种特殊的类,其中每个元素都是该类的一个实例对象。
如果枚举中只有一个对象,可以作为单例的一种形式。



交通灯信号灯枚举类:
public enum TrafficLamp{RED(30){public TrafficLamp changeLamp(){return GREEN;}public long getTime(){return time;}},GREEN(45){public TrafficLamp changeLamp(){return GREEN;}public long getTime(){return time;}},YELLOW(5){public TrafficLamp changeLamp(){return GREEN;}public long getTime(){return time;}};private abstract TrafficLamp changeLamp();private abstract long getTime();private Traffic(long time){this.time = time;}}


原创粉丝点击