泛型 泛型簡介和泛型類

2021-07-25 07:26:51 字數 1385 閱讀 2722

在泛型引入之前,如果我們需要產生多個物件,每個物件的邏輯完全一樣,只是物件內的成員變數的型別不同,那麼我們只能建立多個類檔案,給每個類的成員變數設定不同的資料型別。這麼做會導致類的膨脹,重用性太差。

一種方式是對將object作為變數型別,但是需要對獲取的資料進行強制型別轉換,這個過程可能導致型別轉換異常。

另一種方式,泛型是解決上述問題的有效方法。

泛型即通過引數化型別來實現在同乙份**上操作多種資料型別,泛型程式設計是一種程式設計正規化,它利用「引數化型別」將型別抽象化,從而實現更為靈活的復用。

泛型類:

//一般用t、k、v代表泛型

class genclass

public t getobj()

public

void

setobj(t obj)

}

泛型例項化:

public static viod main(string  args)
泛型類的常規用法:

- 泛型的型別引數可以使泛型類

genclass> genouter=new genclass>();

genclassgeninnter=new genclass();

geninnter.setdata(new student("xiaoming"));

genouter.setdata(genintter);

system.out

.println(genouter.getdata().getdata().tostring);

class genclass2

public

genclass2(k data1,v data2)

public k getdata1()

public v getdata2()

}

public

static

void

main(string args)

class

superclass

public t1 showdata1()

}inte***ce

iinfo

class

subclass

extends

superclass

implements

iinfo

//重寫了父類的方法

public t1 showdata1()

//實現介面的showdata方法

public t2 showdata(t2 data)

}

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...

泛型 (2)泛型類 泛型方法 泛型介面

一 泛型類 定義person類 package cn.itcast.p2.bean public class person implements comparable public person string name,int age public int compareto person p ov...

泛型類,泛型方法,泛型介面

泛型,就是一種不確定的資料型別。如果在類後面加上 這個類就變成了泛型類。這個 t可以使用任意的字母代替。表示定義了一種不確定的資料型別,這種不確定的資料型別必須在使用這個類 比如建立物件 的時候才能確定下來。如果希望縮小泛型的範圍,延後泛型的確定時間,讓泛型在呼叫方法的時候確定,那麼我們可以使用泛型...