定義:泛型其實質就是將資料的型別引數化,通過為類、介面及方法設定型別引數來定義泛型,
泛型類的定義是在類名后面加上<T>,泛型介面的定義是在介面名后面加上<T>,而泛型方法的定義是在方法的回傳值前面加上<T>,其頭部定義分別如下,
- 泛型類的定義:[修飾符] class 類名<T>
- 泛型介面的定義:[public] interface 介面名<T>
- 泛型方法的定義:[public] [static] <T> 回傳值型別 方法名(T 引數)
在使用泛型定義的類創建物件時,即在泛型實體化時,可以根據不同的需求給出型別引數T的具體型別,
public class demo{
private T obj;
public T getObj(){
return obj;
}
public void setObj(T obj){
this.obj = obj;
}
public
}
public static void main(String [] args){
demo<String> name = new demo<String>();
demo<Integer> age = new demo<Integer>();
name.setObj("小明");
String Newname = name.getObj();
System.out.println("姓名:"+Newname);
age.setObj(25);
int Newage = age.getObj();
System.out.println("年齡:"+Newage);
}
要定義泛型方法,只需將泛型的型別引數置于回傳值前即可,在Java中任何方法包括靜態方法和構造方法都可宣告為泛型方法,泛型方法除了定義不同,呼叫時與普通方法一樣,
package com.wsc.Practice;
public class Practice {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer[] num = {1,2,34,5};
display(num);
String [] str = {"1","2","3","4"};
display(str);
}
public static <E> void display(E[] list) {
for(int i = 0;i<list.length;i++) {
System.out.print(list[i]+" ");
}
System.out.println();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/414023.html
標籤:其他
上一篇:Docker不會?不,你缺的是一篇博客( •? ω •? )?
下一篇:PyCharm本地連接遠程conda虛擬環境(Ubuntu+TensorFlow+GPU)進行代碼除錯+Jupyter測驗
