概念:泛型就是引數化型別,使用廣泛的型別
作用:1. 安全:在編譯的時候檢查型別安全; 2.省心:所有的強制轉換都是自動和隱式的,提高**的重用率
一、 泛型類:宣告時使用泛型
字母:t type 表示型別
k v 分別代表兼職中的key value
e 代表element
使用是確定型別
注意:1.泛型只能使用引用型別,不能基本型別
2.泛型宣告時字母不能使用在 靜態屬性|靜態方法上
介面中泛型字母只能使用在方法中,不能使用在全域性常量中
泛型方法<>,返回型別前面
只能訪問物件的資訊,不能修改資訊(因為型別不確定)
二、抽象類繼承
package com.kennosaur.gen03;
/** * 父類為泛型類
* 1.屬性
* 2.方法
* * 要麼同時擦除,要麼子類大於等於父類的型別,
* 不能子類擦除,父類泛型
* 1.屬性型別
* 父類中,隨父類而定
* 子類中,隨子類而定
* 2.方法重寫
* 隨父類而定
* @author administrator
* * @param */
public abstract class father
/** * 子類指定具體型別
* 屬性型別為具體型別
* 方法同理
*/class child1 extends father
}/**
* 子類為泛型類,型別在使用時確定
* **/class child2extends father
}/**
* 子類為泛型,父類不指定型別---泛型的擦除,使用object替換
*/class child3extends father
}/**
* 子類與父類同時擦除
*/class child4 extends father
}/**
* 錯誤:子類擦除,父類使用泛型
*///class child5 extends father
////}
三、介面泛型
package com.kennosaur.gen03;
/** * 泛型介面:與繼承同理
* 重寫方法隨父類而定
* @author administrator
* * @param */
public inte***ce comparable
//宣告子類指定具體型別
class comp implements comparable }
//擦除
class comp1 implements comparable }
//父類擦除,子類泛型
class comp2implements comparable }
//子類泛型》=父類泛型
class co***implements comparable }
//父類泛型,子類擦除----錯誤
//class comp4 implements comparable
四、泛型的擦除
1.繼承|實現宣告時不指定型別;
2.使用時不指定型別
統一object對待
五、泛型沒有多型
萬用字元?
package com.kennosaur.gen04;
/** * ?的使用:宣告型別|宣告方法上,不能宣告類或使用時
* ? extends: <=上限, 指定型別為子類或自身
* ? super : >=下限,指定型別為自身或父類
* @author administrator
* */
public class student
public static void test(student<?> stu)
public static void test2(student<? extends fruit> stu)
public static void test3(studentstu)
public static void test4(student<? super fruit> stu)
}
泛型的巢狀:使用時從外到內,一層層拆分
泛型陣列是不存在的
沒有泛型陣列,不能建立泛型陣列
可以只有宣告,可以使用「?」宣告,沒有實際意義
Java泛型入門
一 為什麼要用泛型?什麼是泛型?泛型好處都有啥,誰說對了就 隨便引一篇文章 二 主要談用法 1 泛型類 修飾符 class 類名 泛型名1,泛型名2,2 泛型介面 修飾符 inte ce 類名 泛型名1,泛型名2,3 泛型方法 修飾符 泛型名1,泛型名2,返回型別 方法名 引數列表 4 泛型默繼承o...
java基礎 泛型
int 定義了乙個陣列,陣列元素的型別是int 泛型 定義了乙個集合,集合元素的型別就是泛型定義的型別 泛型 將執行時期出現的問題classcastexception,轉移到了編譯時期 方便與程式設計師解決問題,讓執行事情問題減少,安全。泛型格式 通過 來定義要引用的資料型別 使用泛型 在集合框架中...
Java基礎再學習之泛型
泛型在jdk1.5出來的,以為自己很理解它了,至少看看 寫寫基本的沒有問題。由於是個新事物,對於我這種從jdk1.1過來的人來說還是乙個思維上的跳躍。最近寫了一些 好好整理了一下。b 為什麼會出現泛型 b 我喜歡事事問為什麼,要不然就覺得心裡不踏實。我已經不止一次的提到過,任何的新技術的出現都是伴隨...