2005年8月11日

          Generic type in Tiger
          1. 受限范型是指類型參數的取值范圍是受到限制的. extends關鍵字不僅僅可以用來聲明類的繼承關系, 也可以用來聲明類型參數(type parameter)的受限關系.例如, 我們只需要一個存放數字的列表, 包括整數(Long, Integer, Short), 實數(Double, Float), 不能用來存放其他類型, 例如字符串(String), 也就是說, 要把類型參數T的取值范型限制在Number極其子類中.在這種情況下, 我們就可以使用extends關鍵字把類型參數(type parameter)限制為數字,
          2. 在創建范型類的對象的時候, 和創建普通對象基本類似, 必須提供具體的類類型來替代類型參數T (J2SE 5.0目前不支持原始類型作為類型參數(type parameter)).
          3. T和V雖然看起來是兩個不同的類型參數, 但是在使用這個范型類的時候, T和V很有可能被替換成同一種類型. 因此在聲明多個類型參數的范型類時, 要注意避免這種二義
          性錯誤.
          4. J2SE 5.0中提供了范型的通配符"?", "?"可以用來代替任何類型, 例如使用通配符來實現print方法
          public static void print(GenList<?> list) {}
          而非 public static void print(GenList<T> list){}
          5. 范型的一些局限
          5.1 類型參數不能實例化,例如
          T t = new T(); // compiling error
          5.2 不能實例化類型參數的數組
          T[] ts = new T[10]; //compilation error
          5.3 類的靜態變量不能聲明為類型參數類型
          public class GenClass<T> {
              private static T t; // compiling error
          }
          5.4 范型類不能繼承自Throwable以及其子類
          public GenExpection<T> extends Exception{} // compiling error

          The artical in dW.
          posted @ 2005-08-11 15:46 Jason 閱讀(241) | 評論 (0)編輯 收藏

          2005年7月30日

          1.所有創建的枚舉類型都擴展于 java.lang.Enum. Enum 是在J2SE 5.0 里定義的一個新類,它本身不是枚舉類型.在創建枚舉類型時,必須用enum 關鍵字,不能直接地定義一個繼承Enum的類來創建一個枚舉類型,盡管所有創建的枚舉類型實際上都是Enum 的子類. 如果直接繼承Enum, compiler 就會報錯(會導致編譯錯誤).
          2.枚舉類型里定義的每一個值都是枚舉類型的一個實例,比方說High是Priority的一個實例.枚舉類型又是擴展于Enum. 所以枚舉類型的每一個值聲明時, 缺省時都將映射到Enum(String name, int ordinal) 構造函數中.
          3.每一個創建的枚舉類型都是Enum 的子類,除了上面調用父類 Enum 的構造函數外,枚舉類型可以使用參數為定義一些自己的構造函數.當聲明值時,只需調用此枚舉類型定義的構造函數,而且不必添加 new 關鍵字.
          4.枚舉類型每一個值都是public, static and final的.也就是說,這些值是唯一的而且一旦定義了是不能被重寫或修改.而且盡管在枚舉類型每一個值聲明時沒有出現static關鍵字,實際上值都是 靜態的, 而且我們不能在值前面加上static, public,final 修飾符
          5.一是這些枚舉類型的構造函數都是私有的.它是不能被其它的類或者其它的枚舉類型調用的. 而且這個私有修飾符是由編譯器自動加的,如果我們定義這些構造函數時,在前面加上public 修飾符, 就會導致編譯錯誤. 二是變量定義必須在枚舉類型值定義之后.
          6.Summary
          使用枚舉類型是很簡單的.它定義一個固定的、封閉的值集合,然后,在需要這些值中的某一個值時,可以通過它的名稱來指定它,這就是枚舉類型的簡單性.枚舉 類型的值就是枚舉類型的實例,編譯器會確保沒有傳入其他的類型,這就是枚舉類型的安全性.這些枚舉類型就是類本身,因此,可以對類進行的所有操作同樣可以 作用于枚舉類型上.我們要小心使用構造函數和函數重載方法,不要因為這些特性可用就任意使用它們.比如特定于常量的類主體,大多情況下可以用Switch 語句來代替,更容易讓人理解而且不容易出錯.我們也看到了Eclipse 3.1平臺對枚舉類型的支持,包括提供創建模板,錯誤信息提示等.總之,枚舉類型的靈活應用能極大的方便和簡化了我們的開發工作.

          Original article: 在Eclipse 3.1中體驗J2SE 5.0的新特性
          posted @ 2005-07-30 16:51 Jason 閱讀(301) | 評論 (1)編輯 收藏

          2005年7月4日

          Here is a good place.
          We can talk about Java here.

          posted @ 2005-07-04 15:18 Jason 閱讀(177) | 評論 (0)編輯 收藏
          僅列出標題  
           
          主站蜘蛛池模板: 红安县| 五常市| 达尔| 平原县| 吉林省| 沁阳市| 潜山县| 阿拉善左旗| 玛纳斯县| 沾化县| 宁南县| 新营市| 多伦县| 松溪县| 电白县| 六枝特区| 论坛| 桐庐县| 肥西县| 内乡县| 宁都县| 三都| 当雄县| 颍上县| 沛县| 谢通门县| 汉寿县| 曲周县| 随州市| 房山区| 旬邑县| 四子王旗| 涟源市| 财经| 宁乡县| 屯昌县| 都安| 台南市| 铁力市| 即墨市| 新宁县|