欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

基于java枚举类综合应用的说明

时间:2021-01-19 12:04:00|栏目:JAVA代码|点击:

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

复制代码 代码如下:

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)方法可以将字符串转换成一个枚举。

上一篇:spring boot Logging的配置以及使用详解

栏    目:JAVA代码

下一篇:java 线程方法join简单用法实例总结

本文标题:基于java枚举类综合应用的说明

本文地址:http://www.codeinn.net/misctech/47317.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有