欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于java枚舉類綜合應用的說明

 更新時間:2013年05月06日 09:36:10   作者:  
一個枚舉類,可以看成包括它的一些子類(枚舉)的一個類,而且枚舉類的構造方法只能是私有的

如下面代碼以交燈為示例:

復制代碼 代碼如下:

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中聲明一個有參數的構造方法覆蓋了無參的構造方法,所以構建子類時也必須要加上參數。

代碼中l(wèi)ight只是相當于一個父類的實例,用它可以得到各個成員變量的子類,調用各種方法,valueOf(String)方法可以將字符串轉換成一個枚舉。

相關文章

  • SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現

    SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現

    這篇文章主要介紹了SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 談談你可能并不了解的java枚舉

    談談你可能并不了解的java枚舉

    這篇文章主要給大家介紹了一些關于你可能并不了解的java枚舉的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 利用java生成二維碼工具類示例代碼

    利用java生成二維碼工具類示例代碼

    二維碼對現在的人們來說再熟悉不過了,我們在開發(fā)的時候也經常會用到二維碼,下面這篇文章主要給大家介紹了關于利用java生成二維碼工具類的相關資料,文中給了詳細的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • MyBatis批量插入大量數據(1w以上)

    MyBatis批量插入大量數據(1w以上)

    MyBatis進行批量插入數時,一次性插入超過一千條的時候MyBatis開始報錯,本文主要介紹了MyBatis批量插入大量數據的解決方法,感興趣的可以了解一下
    2022-01-01
  • 詳解spring中使用Elasticsearch的代碼實現

    詳解spring中使用Elasticsearch的代碼實現

    本篇文章主要介紹了詳解spring中使用Elasticsearch的代碼實現,具有一定的參考價值,有興趣的可以了解一下
    2017-05-05
  • Spring Data JPA 如何使用QueryDsl查詢并分頁

    Spring Data JPA 如何使用QueryDsl查詢并分頁

    這篇文章主要介紹了Spring Data JPA 如何使用QueryDsl查詢并分頁,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java流程控制之選擇結構

    Java流程控制之選擇結構

    這篇文章主要介紹了Java流程控制之選擇結構,主要以if單選擇結構、if雙選擇結構、if多選擇結構、嵌套的if結構、switch多選擇結構多種選擇結構展開全文。需要的小伙伴可以參考一下
    2021-12-12
  • Java 動態(tài)代理的多種實現方式

    Java 動態(tài)代理的多種實現方式

    動態(tài)代理實際上是JVM在運行期動態(tài)創(chuàng)建class字節(jié)碼并加載的過程。本文講述了Java 動態(tài)代理的多種實現方式,感興趣的朋友可以選擇適合自己的方式
    2021-06-06
  • Spring-Cloud Eureka注冊中心實現高可用搭建

    Spring-Cloud Eureka注冊中心實現高可用搭建

    這篇文章主要介紹了Spring-Cloud Eureka注冊中心實現高可用搭建,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java中線程安全有哪些實現思路

    Java中線程安全有哪些實現思路

    在 Java 多線程編程中,線程安全是一個非常重要的概念,本文主要介紹了Java中線程安全有哪些實現思路,非常具有實用價值,需要的朋友可以參考下
    2023-05-05

最新評論