当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-24

    本文导语:  如下面代码以交灯为示例: 代码如下:public class Test {     public static void main(String[] args) {         Trafficlight light = Trafficlight.RED;         System.out.println(light.time);         System.out.println(light.nextLigth());         // or...

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

代码如下:

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.sql枚举clientinfostatus的类成员方法: valueof定义及介绍
  • java自定义枚举转换器示例
  • java命名空间java.math枚举roundingmode的类成员方法: valueof定义及介绍
  • java中没有枚举变量,类似的功能如何简单实现?
  • java命名空间java.sql枚举rowidlifetime的类成员方法: valueof定义及介绍
  • JAVA 为什么没有枚举类型???
  • java命名空间javax.swing枚举dropmode的类成员方法: valueof定义及介绍
  • java枚举的使用示例
  • java命名空间javax.swing枚举sortorder的类成员方法: valueof定义及介绍
  • java实现高效的枚举元素集合示例
  • java命名空间javax.tools枚举standardlocation的类成员方法: valueof定义及介绍
  • 如何用JAVA定义枚举类型的类
  • java命名空间javax.xml.ws枚举service.mode成员方法: valueof定义参考
  • java中枚举的详细使用介绍
  • java命名空间java.lang.management枚举memorytype的类成员方法: valueof定义及介绍
  • java中的枚举类型详细介绍
  • java命名空间java.lang.annotation枚举elementtype的类成员方法: valueof定义及介绍
  • java命名空间java.lang.annotation枚举retentionpolicy的类成员方法: valueof定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: valueof定义及介绍
  • java命名空间java.awt枚举dialog.modalitytype的类成员方法: valueof定义及介绍
  • java命名空间java.net枚举proxy.type的类成员方法: valueof定义及介绍
  • elasticsearch RESTful项目举例说明: java jest
  • 哪里可以下载到JAVA类库呀,最后有中文说明?
  • java的语法说明
  • java 2 基础类,哪里有完整的说明?
  • 求Java Servlet API说明文档!
  • 关于java编译过程中的bug说明
  • 高分求java.sql类库的类说明,函数及方法!
  • 哪有java类库中文说明和jdk1.3.1的中文文档?
  • java.lang.ClassCastException 这个是什么异常,能具体说明吗?
  • 基于java math API 的详细解释说明
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • 如何设置java应用程序的风格,如java风格,和windows风格!
  • Java GUI应用程序开发框架 Axualize
  • Java应用服务器 Virgo
  • JAVA桌面应用服务器 JDAP
  • Java与桌面应用程序
  • Java应用漏洞检测工具 LAPSE+
  • Java 应用自动更新框架 Jupidator
  • 讨论:Java是否适合编写通常的应用程序?
  • 怎样让java应用程序独立运行?
  • 求教!!!VC应用调用Java模块可行吗?
  • Java 应用服务器 WildFly
  • Java企业应用开发框架 Portofino
  • elasticsearch RESTful项目举例说明: java jest iis7站长之家
  • 求JAVA的具体应用
  • Java模块化应用开发框架 JTheque
  • 请问如何通过telnet的方式启动服务器(solaris)上的用.sh角本方式启动java写的应用程序,在退出telnet时服务器上的应用程序不会退出?
  • Java 应用程序维护工具 MaintainJ
  • 只考虑WEB应用, JAVA适合吗? 除了IIS, 我还能让什么东西来支持我的ASP? JAVA有关的东东有没有好办法?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3