Java泛型二 泛型類 泛型介面 泛型方法詳解

2021-07-14 21:25:47 字數 1935 閱讀 3399

單引數泛型類:

public

class rectangle

public t getwidth()

public

void

setwidth(t width)

public t getheight()

public

void

setheight(t height)

public

static

void

main(string args)

}

通過public class rectangle{}定義泛型類,在例項化該類時,必須指明泛型t的具體型別,例如:rectanglerectangle = new rectangle();,指明泛型t的型別為string。

多引數泛型類:

public

class container

public k getkey()

public

void

setkey(k key)

public v getvalue()

public

void

setvalue(v value)

public

static

void

main(string args)

}

通過public class container{}定義泛型類,在例項化該類時,必須指明泛型k、v的具體型別,例如:containerc1 = new container("name", "messi");,指明泛型k的型別為string,泛型v的型別為string。

public

inte***ce calculator

public

class

calculatorinteger

implements

calculator

public

static void main(string args)

}

public

class

calculatorstring

implements

calculator

public

static void main(string args)

}

通過public inte***ce calculator{}定義泛型介面,在實現該介面時,必須指明泛型t的具體型別,例如:public class calculatorinteger implements calculator{},指明泛型t的型別為integer,例項化該類時無需制定泛型型別。

public

class generic catch (exception e)

return t;

}public

static

void

main(string args) catch (exception e)

}}

在呼叫泛型方法的時候,在不指定泛型的情況下,泛型變數的型別為該方法中的幾種型別的同乙個父類的最小級,直到object。在指定泛型的時候,該方法中的幾種型別必須是該泛型例項型別或者其子類。

在初始化泛型類的時候,不指定泛型的時候,泛型的型別為object,就比如arraylist中,如果不指定泛型,那麼這個arraylist中可以放任意型別的物件。

泛型的好處是在編譯的時候進行型別安全檢查,並且所有的強制轉換都是自動和隱式的,以提高**的重用率。

Java基礎 泛型 泛型介面 泛型類 泛型方法

一 二 三 泛型方法 1.public t test t t1,t t2 一 泛型 1.泛型產生的背景 原因1 集合中儲存資料時,編譯期間可以儲存任何型別的資料,導致取值時轉換出錯 原因2 每次取值都需要強制轉換,冗餘繁瑣 2.泛型的定義 泛型的本質是乙個引數化的型別 在程式編碼中一些包含引數的類 ...

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

1.泛型介面和泛型類的使用類似,無區別。2.泛型方法使用是將泛型引數放在方法的返回值之前,例子 public void f t x 如果f t x 這個方法所在的類已經是擁有泛型引數t的泛型類,那麼可以省略前面的。因為編譯器會自動為我們找到具體的型別,稱之為型別引數推斷 type argument ...

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

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