9 20 泛型學習總結

2021-08-28 07:27:47 字數 1572 閱讀 3681

#泛型就是引數化型別,將類作為引數傳遞。泛型引數可以有多個。

#泛型的幾種用法:

一、類泛型。

舉個例子:

class student

public student(t1 var1, t2 var2)

public t1 getvar1()

public void setvar1(t1 var1)

public t2 getvar2()

public void setvar2(t2 var2)

@override

public string tostring()

class test

}

泛型可以等到你穿建物件時確定型別,如:

students = new student("張三",18);
其中student中string,integer就是傳遞實際引數的型別。

class fuclass

public t1 show() }

class ziclas***tends fuclass

public void show2()

}

泛型的幾種用法:

二、方法泛型。

如下程式所示:

public void show(t t)
引數列表中的泛型必須和方法中的泛型保持一致。

三、泛型的介面。

無論泛型是繼承這個類還是實現這個介面類,都必須使用extends 關鍵字,並且傳例項化物件的時候只能傳該類或者該類的子類。

public inte***ce animal

public dog implements animal

public void show()

} public test

public t gett()

} public class demo

}

萬用字元:

?:表示隨便乙個型別,可以是任意型別。

? extends e :表示是本類或者是該類的子類。

? super e :表示是本類或者是該類的父類。

本章學習例項:用泛型模擬乙個倉庫。

class warehouse

//向倉庫中存物品

public void add(t t)

data[size++] = t;

} public t gett(int index)

//得到倉庫中的物品數目

public int getsize()

public class test 

system.out.println(w.gett());//5

system.out.println(w.size());//11

for (int i = 0; i < list.size(); i++)

}

}

泛型學習總結

一.泛型約束 1.where t 類 t為引用型別.2.where t 結構 t為值型別.3.where t 基型別 t為制定基類或派生自指定基類.4.where t new t必須有乙個無引數的建構函式.這樣就可以再泛型中執行 t new t 5.where t 介面名稱 t必須是自定介面或實現指...

Java泛型學習總結

一 泛型設計的初衷 泛型程式的設計方便讓相同的 邏輯被許多不同型別的物件所重用。二 定義泛型介面 類 public class pair public void setk k k public v getv public void setv v v 二 定義泛型方法 public t getvalu...

學習泛型的方法總結

public class genericfoo get genericfoofoo1 new genericfoo genericfoofoo2 new genericfoo public class generic get genericfoo new generic public class g...