泛型基礎知識

泛型

泛型的概述 
  1. JDK1.5新特性。
  2. 泛型可以使用在方法上,類上,接口上。
  3. 泛型變量可以理解爲是某種數據類型的佔位符。
  4. 泛型變量還可以理解爲是某種數據類型的變量。    
  5. 泛型變量的命名規則:只要是合法的標識符就可以,一般使用一個大寫字母表示
      常用的泛型變量名有:T type  E element  K key   V  value

1 泛型方法的概念
  在定義方法時定義了泛型變量的方法就是泛型方法

泛型方法的定義格式
  ​​​修飾符 <T> 返回值類型 方法名(參數列表) { }

泛型方法的注意事項
  1. 調用方法時,確定泛型的類型,如果沒有指定,則默認是Object
  2. 泛型變量的具體數據類型是由調用者調用方法時傳參決定。
  3. 泛型變量的具體數據類型不能是基本數據類型,如果要使用基本數據類型則需要使用對應的包裝類類型

2 泛型類的概念
  在定義類的同時定義了泛型變量的類。

泛型類的定義格式
  
class 類名<T>{
    // 在該類中可以將泛型變量T當成一種數據類型使用。
  }

泛型類的注意事項
  1. 泛型類泛型變量的具體數據類型是在創建該類對象時由創建者指定。
  2. 如果創建泛型類對象時沒有指定泛型變量的具體數據類型,則默認是Object
  3. 靜態方法不能使用類上定義的泛型變量,如果該方法中要使用泛型變量,則需要將該定義爲泛型方法。

3 泛型接口的概念
  在定義接口的同時定義了泛型變量的接口

泛型接口的定義格式
  interface 接口名<T>{
    // 可以將泛型變量T當成一種數據類型使用
  }

泛型接口的實現方式
  方式1:實現接口的同時指定泛型變量的具體數據類型。(不夠靈活)
  方式2:實現接口的時不指定泛型變量的具體數據類型,那麼此時需要將該實現類定義爲泛型類,由使用者創建實現類對象時指定泛型變量的數據類型。(推薦使用)

4 泛型上下限

泛型上下限格式

  泛型的上限:
    格式:  <? extends 類 >
    意義:  只能接收該類型及其子類
  泛型的下限:
    格式:  <? super 類 >
    意義:  只能接收該類型及其父類型

注意事項? : 
  1.泛型通配符,可以匹配任意類型的數據。 
  2.? 一般不會單獨使用,一般會結合泛型的上下限使用。
  3.? 不能用來定義泛型方法,泛型類,泛型接口
  4.? 不能在方法體中當成一種數據類型使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章