第二小組

          Java 5.0新特性 - 枚舉類(lèi)型enum

          Java 語(yǔ)言的兩個(gè)基本的元素是類(lèi)(class)和接口(interface),現(xiàn)在Tiger又引入了枚舉(enum).
          其實(shí)枚舉也不能算是嚴(yán)格意義上的新元素,它也是一種類(lèi),是一種特殊的類(lèi).所有的枚舉都默認(rèn)繼承自java.lang.Enum,如果所有的類(lèi)都默認(rèn)繼承自java.lang.Object一樣.在Java提供的枚舉中提供了比C/C++更多的功能,在這里可以像一般的類(lèi)一樣定義方法和屬性,也可以有受限的構(gòu)造函數(shù)(只能是private,且默認(rèn)如此).

          下面試寫(xiě)了一個(gè)枚舉,以供參考.

          package kb.enums;

          public enum Temperature 
          {
              VeryHigh(
          100.0),    //!這樣使用構(gòu)造函數(shù)

              High,
              LessComfortable,
              Comfortable(
          25.0),    //構(gòu)造函數(shù)

              MoreComfortable,
              Low,
              VeryLow(
          -15.0);        //構(gòu)造函數(shù)

              
              
          private double
           degree;
              
              Temperature( 
          double d ) 
          {    //private
                  degree = d;
              }

              
              Temperature() 
          {
                  degree 
          = -1.0
          ;
              }

              
              
          public static String getMemberList() {
                  StringBuffer buf 
          = new
           StringBuffer();
                  
                  
          for( Temperature t : Temperature.values() ) 
          {
                      buf.append( t.toString() 
          + "\n"
           );
                  }

                  
                  
          return buf.toString();
              }

          }


          package kb.enums;

          public class UseTemperature 
          {
              
              
          private static StringBuffer out = new
           StringBuffer();
              
              
          public static void main(String[] args) 
          {
                  
                  Temperature temp 
          =
           Temperature.High;
                  
                  
          switch
          ( temp )
                  
          {
                  
          case
           Comfortable:
                      
          out.append( Temperature.Comfortable.toString() + "\n"
           );
                      
          break
          ;
                  
          default
          :
                      
          out.append( "Uncomfortable\n"
           );
                      
          break
          ;
                  }

                  
                  
          out.append( Temperature.getMemberList() );
                  
                  System.
          out.print( out
          .toString() );
              }


          }

          posted on 2005-07-29 00:20 第二小組 閱讀(3617) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): 學(xué)習(xí)感想

          Feedback

          # re: Java 5.0新特性 - 枚舉類(lèi)型enum 2005-08-09 08:49 hegen

          為什么在編譯的時(shí)候通不過(guò)呢?
          編譯的時(shí)候是不是有什么技巧呢?
            回復(fù)  更多評(píng)論   

          # re: Java 5.0新特性 - 枚舉類(lèi)型enum 2005-08-10 19:47 第二小組

          編譯當(dāng)然是要在5.0環(huán)境下才能通過(guò)啊,其它就沒(méi)有了.  回復(fù)  更多評(píng)論   

          # re: Java 5.0新特性 - 枚舉類(lèi)型enum 2005-08-28 12:38 superman

          private double degree;
          有什么作用?  回復(fù)  更多評(píng)論   

          # re: Java 5.0新特性 - 枚舉類(lèi)型enum 2005-09-28 16:52 概念都搞錯(cuò)了. enum and Enum

          這或許就是autoboxing的后果  回復(fù)  更多評(píng)論   



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 林州市| 成武县| 新丰县| 固安县| 运城市| 深州市| 肃宁县| 垦利县| 进贤县| 仁寿县| 彝良县| 前郭尔| 万年县| 宁国市| 余干县| 东乡县| 汉寿县| 衡东县| 宝兴县| 色达县| 从化市| 永新县| 杭州市| 察哈| 肃北| 南宁市| 枝江市| 土默特左旗| 岢岚县| 桐梓县| 绍兴市| 梁河县| 滕州市| 于田县| 龙井市| 左贡县| 南开区| 永吉县| 崇义县| 云安县| 江达县|