<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      java 之 枚舉

      看了點黑馬的視頻,邊看邊試驗,結合自己的理解,動手試試。

      在這個示例中,將會學到內部類、枚舉、接口等等

       

      import java.util.Random;

      public class Test {

          
      /**
           * 
      @param args
           
      */
          
      public static void main(String[] args) {
              
      // TODO Auto-generated method stub
              System.out.println(Fire.M4A1);
              System.out.println(Fire.RPG);
              System.out.println(Fire.MP5);
              System.out.println(Fire.SCAR);

              System.out.println(
      "----------------------");

              System.out.println(Fire.M4A1.fire());
              System.out.println(Fire.RPG.fire());
              System.out.println(Fire.MP5.fire());
              System.out.println(Fire.SCAR.fire());

              System.out.println(
      "----------------------");

              System.out.println(Fire.M4A1.getWeapon());
              System.out.println(Fire.RPG.getWeapon());
              System.out.println(Fire.MP5.getWeapon());
              System.out.println(Fire.SCAR.getWeapon());

          }

          
      // 設置開火的聲音
          public String setFireSound(String sound) {
              String f 
      = "..";
              String a 
      = "";
              Random r 
      = new Random(); // 種子隨便
              int count = r.nextInt(10); // 獲取一個10以內的隨即整數

              
      for (int i = 0; i <= count; i++) {
                  
      if (r.nextBoolean()) { // 隨機boolean值,如果為真,weapon is broken,卡殼了
                      a += "" + f; 
                  } 
      else {
                      a 
      += sound + f;
                  }

              }
              
      return a;
          }

          
      // 這是個接口,<武器>接口
          public interface Weapon {
              
      public abstract String fire(); // 開火的接口
          };

          
      public enum Fire implements Weapon {
              
      /*
               * enum類只能實現接口,而沒法繼承。每個枚舉,而有相當于enum的子類
               * 枚舉后面的花括號,就相當于類的構造體,里面所實現的方法,可以是重載等等
               
      */
              M4A1 {
                  @Override
                  
      public String fire() {
                      
      // 既然這個枚舉類實現了武器接口,就必須實現它的方法
                      String name = Fire.values()[0].toString();
                      String fire 
      = (new Test()).setFireSound("");
                      
      return name + " fire-->" + fire;
                  }
              },
              SCAR {
                  @Override
                  
      public String fire() {
                      
      // 既然這個枚舉類實現了武器接口,就必須實現它的方法
                      String name = Fire.values()[1].toString();
                      String fire 
      = (new Test()).setFireSound("");
                      
      return name + " fire-->" + fire;
                  }
              },
              MP5 {
                  @Override
                  
      public String fire() {
                      
      // 既然這個枚舉類實現了武器接口,就必須實現它的方法
                      String name = Fire.values()[2].toString();
                      String fire 
      = (new Test()).setFireSound("");
                      
      return name + " fire-->" + fire;
                  }
              },
              RPG {
                  @Override
                  
      public String fire() {
                      
      // 既然這個枚舉類實現了武器接口,就必須實現它的方法
                      String name = Fire.values()[3].toString();
                      String fire 
      = (new Test()).setFireSound("");
                      
      return name + " fire-->" + fire;
                  }
              };

              
      /*
               * 枚舉的內部方法,每個枚舉都會擁有此方法,而每個枚舉成員又都可以重載或覆蓋此方法
               
      */
              
      public String getWeapon() {
                  
      // this關鍵字,即當前的枚舉
                  return this.name() + " weapon";
              }

          }

      }

       

      輸出:

      M4A1
      RPG
      MP5S
      CAR
      ----------------------

      M4A1 fire-->咔..咔..咔..噠..咔..

      RPG fire-->咔..嘭..咔..嘭..咔..嘭..嘭..嘭..嘭..嘭..

      MP5 fire-->咻..咻..咔..咔..咔..

      SCAR fire-->嗒..咔..嗒..嗒..嗒..
      ----------------------
      M4A1 weapon
      RPG weapon
      MP5 weapon

      SCAR weapon 

       

      起初接觸枚舉是c#,轉到java后一直沒有關注過1.5及以后版本的新增特性,看了《thingking in java》結合視頻,才發現java的靈活之處,一個枚舉都異常靈活強大。

       

      使用了enum關鍵字,即繼承Enum類,所以enum只能實現接口,而不能多重繼承了。

      在枚舉成員中,每個枚舉成員可以看作一個對象,又像枚舉的靜態繼承類,相當于枚舉成員繼承了這個枚舉,從而可以擴展方法,加上花括號就行,內部怎么寫東西,就像對待一般內部類一樣。 

        

      posted on 2011-05-06 22:50  黑暗伯爵  閱讀(363)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 美女扒开奶罩露出奶头视频网站 | 中文字幕日韩国产精品| 99久久亚洲综合精品成人网| 亚洲一区二区精品极品| 成年女人片免费视频播放A| 夜夜夜高潮夜夜爽夜夜爰爰| 果冻传媒董小宛视频| 国产av无码专区亚洲草草| 伊人无码精品久久一区二区| 伊人中文在线最新版天堂| 日产国产精品亚洲系列| 日韩av色一区二区三区| 遂平县| 国产激情一区二区三区不卡| 亚洲av永久无码精品天堂久久| 午夜精品福利一区二区三| 少妇办公室好紧好爽再浪一点| 一本之道高清乱码少妇| 天堂网av成人在线观看| 2020国产成人精品视频| 99精品国产兔费观看久久99| 秋霞av鲁丝片一区二区| 日韩精品久久不卡中文字幕| 欧美野外伦姧在线观看| 国产欧美日韩亚洲一区二区三区| 久久精品国产99国产精品亚洲| 国产成人精品三级在线影院| 亚洲精品久久久久国色天香| 97人妻天天爽夜夜爽二区| 亚洲国产成人午夜在线一区| 四虎国产精品永久入口| 无码激情亚洲一区| 亚洲一区二区三区十八禁| 国产精品一二二区视在线| 国产在线国偷精品产拍| 亚洲人成色77777| 亚洲真人无码永久在线| 国产精品亚洲二区亚瑟| 日产精品99久久久久久| 自拍偷区亚洲综合第二区| 亚洲午夜精品国产电影在线观看 |