#泛型就是引數化型別,將類作為引數傳遞。泛型引數可以有多個。
#泛型的幾種用法:
一、類泛型。
舉個例子:
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...