java入門基礎學習 泛型

2021-08-28 18:04:16 字數 2281 閱讀 5829

概念:泛型就是引數化型別,使用廣泛的型別

作用: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 我喜歡事事問為什麼,要不然就覺得心裡不踏實。我已經不止一次的提到過,任何的新技術的出現都是伴隨...