什麼時候定義泛型類?
當類中要操作的引用資料型別不確定時:
早期定義object來完成拓展,現在定義泛型來完成拓展。
一、下面簡單演示不確定要操作學生還是工人時,封裝成泛型類
public
class student
public
class worker
public
class tool
public
void
sett(t t)
}public
class tooldemo
}
泛型類定義的泛型,在整個類中有效,如果被方法使用,那麼泛型類的物件明確操作的具體型別後,所有要操作的型別已經固定了,只能一種資料型別
二、泛型方法為了讓不同方法可以操作不同型別,可以將泛型定義在方法上。
在定義泛型方法時,應該將<>寫在返回值的前面、修飾符的後面。(語法規則)
public
class student
public
void
print(t t)
}public
static
void
main(string args)
三、也可以在泛型類中定義非泛型類操作引用型別的泛型方法
泛型類的引用型別為t,在show方法中有效,在print方法中無效
public
class student
public
void
print( q q)
}public
class tooldemo
}
四、特殊之處:靜態方法不可以訪問類上定義的泛型(靜態方法在類載入時就存在,但是此時還沒有物件,確定引用資料型別是在建立物件時確定的)。
如果靜態方法操作的引用資料型別不確定,可以將泛型定義在方法上
五、也可以定義泛型介面,在實現它的類上要具體明確是哪種引用型別
public
inte***ce inter
public
class student implements inter
public
static
void
print( q q)
}public
class tooldemo
}
泛型類,方法,介面
泛型類 public class genericdemo4 建立乙個用於操作student物件的工具類,對物件進行設定和獲取。太有侷限性了,可不可以定義乙個可以操作所有物件的工具呢?型別向上抽取,當要操作的物件的型別不確定的時候,為了擴充套件。可以使用object型別來完成。但是這種方式有一些小弊端...
泛型類, 方法,介面,萬用字元
舉例 泛型類 public class demo private t name public t getname return obj public void setname t name this.name name public class demotest public static void...
IDEA 定義和使用(含有泛型)的類 方法 介面
首先建立乙個含有泛型的類 package demo03generic 定義乙個含有泛型的類,模擬arraylist集合 泛型是乙個未知的資料型別,當我們不確定什麼什麼資料型別的時候,可以使用泛型 泛型可以接受任意的資料型別,可以使用integer,string,student.建立物件的時候確定泛型...