基于java枚举类综合应用的说明
基于java枚举类综合应用的说明
发布时间:2016-12-28 来源:查字典编辑
摘要:如下面代码以交灯为示例:复制代码代码如下:publicclassTest{publicstaticvoidmain(String[]args...

如下面代码以交灯为示例:

复制代码 代码如下:

public class Test {

public static void main(String[] args) {

Trafficlight light = Trafficlight.RED;

System.out.println(light.time);

System.out.println(light.nextLigth());

// ordinal()方法返回枚举声明的顺序

System.out.println(light.ordinal());

// values()方法得到所有枚举类型的一个数组

for(Trafficlight light1:light.values()){

System.out.println(light1.name());

}

// valueOf()方法可以把字符串转换成相应的枚举对象

System.out.println(light.RED ==light.valueOf("RED"));

}

public enum Trafficlight {

GREEN(30) {

@Override

public Trafficlight nextLigth() {

return RED;

}

},

RED(30) {

@Override

public Trafficlight nextLigth() {

return YELLOW;

}

},

YELLOW(10) {

@Override

public Trafficlight nextLigth() {

return GREEN;

}

};

public abstract Trafficlight nextLigth();

private int time;

// 构造方法

private Trafficlight(int time) {

this.time = time;

}

public int getTime(){

return time;

}

}

}

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

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类