軟件是對質量的不懈追求

          JAVA泛型類(轉)

          泛型是JDK 5.0后出現新概念,泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。這種參數類型可以用在類、接口和方法的創建中,分別稱為泛型類、泛型接口、泛型方法。

          泛型類引入的好處不僅在于減少代碼量,還在于一提供了編譯時期數據類型的檢查功能,可以提前預知錯誤的發生,增加代碼安全性,二是減少了強制類型轉換。下面定義一個泛型類

           Example GenericFX.java

           package org;

           public class GenericFX<E>

          {

               private E fx;

              

               public void setFX(E fx)

              {

                   this.fx = fx;

              }

           

               public E getFX()

               {

                   return fx;

               }

          }

          在此例中,GenericFX類就是要定義的泛型類,類型變量E是泛型類的類型參數,我們可以使用GenericFX<E>這樣的類型名來聲明一個泛型類。如

          GenericFX<E>  fx  = new GenericFX<E>(),其中E就是具體的類型, 下面看一個應用泛型類的例子.

           Example GenericFXDemo.java

           package org;

           public class GenericFXDemo

          {

               public void main(String[] args)

               {

                   GenericFX<Integer>  f1 = new GenericFX<Integer>(); 

                   GenericFX<Boolean>  f2 = new GenericFX<Boolean>();      

                  

                   f1.setFX(new Integer(10));

                   System.out.println(f1.getFX);//

                 

                   f2.setFX(new Boolean(true));

                   System.out.println(f2.getFX);//

               }

          }

          可以看到,f1,f2都是同一泛型類的對象引用,在取得不同參數類型對象時,已不需要實行類型轉換.

          如果像這樣修改一下代碼,

          f1.setFX(new Integer(10));

          Boolean  b = f1.getFX();

          System.out.println(b);   這里編譯就會報錯,告訴你這不安全.

          泛型類可以定義多個類型參數,像GenericFX<E,F>就要兩個類型參數。但是,無論有多少個類型參數,泛型仍然只需要一個類。如上GenericFX<Integer> GenericFX<Boolean>都屬于同一個泛型類GenericFX,f1,f2都只是該泛型類的一個應用,當然單一的GenericFX類是不能稱為泛型類的,必須要有<>和類型參數才可以,而像fx只是泛型類的成員變量。

          posted on 2009-07-17 14:49 BlakeSu 閱讀(206) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高平市| 弥勒县| 太谷县| 绵阳市| 金昌市| 乐山市| 灵寿县| 新龙县| 措美县| 本溪市| 丰顺县| 涪陵区| 长宁县| 葵青区| 阿合奇县| 南陵县| 长沙市| 松潘县| 南漳县| 诸暨市| 沙河市| 安顺市| 漳浦县| 孟连| 贵阳市| 阿拉善盟| 彩票| 乐至县| 镶黄旗| 雅安市| 专栏| 黄石市| 栾城县| 黎川县| 呈贡县| 于田县| 四子王旗| 买车| 张家川| 井陉县| 麻阳|