(71)泛型定義在類 方法 介面

2021-09-30 16:23:50 字數 1381 閱讀 4987

什麼時候定義泛型類?

當類中要操作的引用資料型別不確定時:

早期定義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.建立物件的時候確定泛型...