韓陽 王昊天 范曉娟 河北農業大學
關鍵字:Java 泛型 Java泛型基本操作
在JDK1.5中最明顯的變化之一就是添加了對Java泛型的支持。泛型是指在定義類的時候不指定具體使用的數據類型,而是在外部聲明或實例化對象的時候指定使用某些具體類(是具體的類而不是int、char之類的基本數據類型)。因此在引入Java泛型之后簡化了Java程序設計,泛型解決;數據類型的安全性問題,增強了Java程序的健壯性。
[權限:public等] class 類名稱<泛型類型>{
[權限] 泛型類型 變量名稱;
[權限] 泛型類型 方法名稱(){};
[權限] 返回值類型聲明 方法名稱(泛型類型 變量){};
}
例如:
class Person private T name; private V age; public void setName(T name){}; public T getName(){}; public Person(T name,V age){}; } 泛型類中可以使用泛型標識同樣也可以使用普通的數據類型,對此不一定都一致使用泛型標識。 泛型類與普通類的區別只是基本的數據類型改為尖括號包含的泛型類型。 泛型標識可以使用任意的字母表示,這里更多的使用了T和V表示泛型標識。 類名<具體類> 對象 = new類名<具體類>(); 例如: Person 具體類是指包裝類或者String,而不是int,char,double之類的基本數據類型,由于java中有數據類型與類之間的自動裝箱操作,所以使用具體類并不會增加操作的難度。 [權限] <泛型標識> 返回值類型 方法名([泛型標識 變量]){}; 例如: public [權限] 構造方法名稱 ([泛型類型 變量名稱]){}; 例如: public Person(T name,V age){this.name=name;this.age=age}; 其中的T,V就可以代表一些定義時的數據類型; Java中引入了通配符是“?”,“?”表示任意泛型類型。 例如:public void Person2(Person<?,?> user){}; 2.6.1 泛型接口的定義 [權限] interface 接口名<泛型標識>{}; 例如: Interface Person 泛型接口的定義多了尖括號和其中的泛型標識,泛型標識可以時多個,每個泛型標識之間用逗號隔開。 2.6.2 使用泛型接口 class 類名<泛型標識> implements 接口名<泛型標識>{}; 例如: class Person3 實現泛型接口的類時,泛型類中泛型標識個數要大于或等于泛型接口的中的泛型參數的個數,即接口繼承類要繼承接口的泛型標識。 class 類名稱<? extends 具體類 >{}; class 類名稱<? super 具體類>{}; 其中,范圍上限extends指的是具體類和其子類在允許使用范圍內。范圍下限super指的是具體類和其父類在允許使用范圍內。注意:Number類是(Byte、Short、Long、Integer、Float、Double)的父類。 Java泛型實現了不同數據類型之間的共享代碼段。而且Java使用泛型后程序的安全性得到了很大提升,即避免了類型轉化時異常的出現。因為在Java泛型的引入之后程序員書寫程序的安全性得到了很大的提升。2.2 泛型對象定義
2.3 泛型方法
2.4 泛型的構造方法
2.5 通配符的使用
2.6 定義泛型接口及使用
2.7 受限泛型
3 結束語