java泛型的例子與理解

2021-06-27 22:09:37 字數 1565 閱讀 5938

首先,為什麼會出現泛型。這個動機就是如果是型別錯誤,那麼在編譯的時候就會**獲,而不是執行時當作classcastexception在debug裡面出現,所以將型別的檢查從執行時移到編譯時,有助於找到程式中的錯誤,提高程式的可靠性。

泛型使用在3個地方,類、介面、方法的建立中,相對應的為泛型類、泛型介面、泛型方法。也就是說泛型是對於型別的通用性。不能將多型的概念混淆進來,二個沒有直接的關係,乙個是針對物件的,泛型是針對類的。

接下來是關於泛型概念的幾個例子,涵蓋了泛型的應用。

1.泛型類和泛型的構造

/**

* 泛型類

* * @author administrator

* * @param * name

* @param * age

*/public class person

public person()

public t getname()

public void setname(t name)

public v getage()

public void setage(v age)

@override

public string tostring()

}

2.泛型方法

/**

* p是傳入進來的,那麼在建立p物件的時候,已經有了具體的型別,那麼在這邊還不知道p中的型別,那麼用?去通配

* @param p

*/public static void function(person<?, ?> p)

泛型上限

/**

* 泛型上限

* @param p

*/public static void function(person<? extends string, ? extends integer> p)

泛型下限
/**

* 泛型下限

* @param p

*/public static void function(person<? super string, ? super integer> p)

main函式

public static void main(string args)
3.泛型介面

public inte***ce dosomething
結果

public class playimplements dosomething

public static void main(string args)

}

另一種寫法

public class play implements dosomething

@override

public void dosomething(string t) }

java 自定義泛型 與 萬用字元的 理解例子

泛型 萬用字元 理解 可以引用任何型別 可以使用與引數化 無關的方法 上邊界 extends number 包括自己 下邊界 super integer 包括自己 自定義泛型 與 萬用字元的 理解 public class generictest2 public static void printc...

Java泛型的理解

t bean classbean class bean 單獨的t代表乙個型別,而class和class代表這個型別所對應的類 class在例項化的時候,t要替換成具體類 class它是個通配泛型,可以代表任何型別 受限統配,表示t的乙個未知子類。下限統配,表示t的乙個未知父類。package com...

Java基礎 泛型理解

先來看下這一段 public class test test public void test 泛型擦除,由於虛擬機器中沒有泛型型別的物件。無論定義何種泛型型別,都必須會有乙個原始型別,虛擬機器執行時會將型別變數擦除,並統一用object代替,從此變為乙個普通類物件。test public void...