枚举类综合应用

枚举类综合应用

一个枚举类,可以看成包括它的一些子类(枚举)的一个类,而且枚举类的构造方法只能是私有的,如下面代码以交灯为示例:

Test { main(String[] args) { 4Trafficlight light = Trafficlight.RED; 5 6 System.out.println(light.time); 7 System.out.println(light.nextLigth());System.out.println(light.ordinal());(Trafficlight light1:light.values()){12 System.out.println(light1.name());13 }System.out.println(light.RED ==light.valueOf(“RED”));17 } Trafficlight {20GREEN(30) {21 22 @Override23public Trafficlight nextLigth() {24return RED;25 }26 },27RED(30) {28 29 @Override30public Trafficlight nextLigth() {31return YELLOW;32 }33 },34YELLOW(10) {35 36 @Override37public Trafficlight nextLigth() {38return GREEN;39 }40 }; Trafficlight nextLigth(); time;Trafficlight(int time) {47this.time = time;48 } getTime(){51return time;52 }53 54 }55 56 }

代码中,香港空间,虚拟主机,可以看到GREEN,RED,YELLOW,分别是Trafficlight的一个子类,美国空间,并作为它的成员变量。在Trafficlight有一个抽象方法nextLight(),在子类中是必须要实现的,所以@Override,另外它们也继承了父类的方法,所以可以调用父类的方法 getTiime(),由于父类Trafficlight中声明一个有参数的构造方法覆盖了无参的构造方法,所以构建子类时也必须要加上参数。

  代码中light只是相当于一个父类的实例,用它可以得到各个成员变量的子类,调用各种方法,valueOf(String)方法可以将字符串转换成一个枚举。

posted on

昨晚多几分钟的准备,今天少几小时的麻烦。

枚举类综合应用

相关文章:

你感兴趣的文章:

标签云: