1. 程式人生 > >Java 泛型總結

Java 泛型總結

類型 三種 obj java nds java 泛型 代碼 編譯 試圖

泛型總結:

  1. 泛型具有參數化類型的能力. 可以定義使用泛型類型的類或方法, 編譯器會用具體類型來替換泛型類型.

  2. 泛型的主要優勢是能夠在編譯時而不是運行時檢測錯誤.

  3. 泛型類或方法允許指定這類或方法可以帶有的對象類型, 如果試圖使用帶有不兼容對象的類或方法, 編譯器或檢測出這個錯誤.

  4. 定義在類, 接口或者靜態方法中的泛型稱為形式反省類型, 隨後可以用一個實際具體類型來替換它. 替換泛型類型的過程稱為泛型實例化.

  5. 不使用類型參數的泛型類稱為原始類型, 例如ArrayList. 使用原始類型是為了向後兼容Java 較早的版本.

  6. 榮配泛型類型有三種形式: ? , ? extends T , ? super T, 這裏的T代表一個泛型類型.

    1) 第一種形式, ? 稱為非受限通配, 它和 ? extends Object 是一樣的.

    2) 第二種形式 ? extends T 稱為受限通配, 代表T或者T的一個子類型.

    3) 第三種形式 ? super T 稱為下限通配, 表示T或者T的一個父類型.

  7. 使用稱為類型消除的方法來實現泛型. 編譯器使用泛型類性信息來編譯代碼, 但是隨後消除它.

     因此泛型信息在運行時是不可用的. 這個方法能夠使泛型代碼向後兼容使用原始類型的遺留代碼.

  8. 不能使用泛型類型參數來創建對象.

  9. 不能使用泛型類型參數來創建數組.

  10. 不能再靜態環境中使用累得泛型類型參數

  11. 在異常類中不能使用泛型類型參數.

Java 泛型總結