Java入门——泛型(一)
泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用;更重要的是它保证了数据类型的安全。但是设计泛型并没有那么容易,一个泛型程序员要做的就是预测出所有类未来可能的所有的用途。
一:目标
泛型程序设计分为3个等级,基本等级是使用泛型——典型的小ArrayList这样的集合——不必考虑它们的工作方式和原因。大多数程序猿将会停留在这个等级上,直到出现什么问题。
二:简单泛型类
package Sep22;
public class Pair<T> {//泛型可以有多个变量,比如public class Pair<T,K>{}
private T first;//T 类型的变量
private T second;//T 类型的变量
public Pair(){//构造函数
first=null;
second=null;
}
public Pair(T first,T second){//构造函数覆写
this.first=first;
this.second=second;
}
public T getFirst() {
return first;
}
public void setFirst(T first) {
this.first = first;
}
public T getSecond() {
return second;
}
public void setSecond(T second) {
this.second = second;
}
}
然后用具体的类型替换类型变量就可以实例化对象,对于本例:
Pair<String>
实例化对象后就是可以把构造器想象成普通类的构造器:
Pair<String>()
Pair<String>(String first,String Second)
和方法
String getFirst()
String getSecond()
void setFirst(String)
void setSecond(String)
三:泛型方法
泛型还可以在普通类中定义泛型方法
Class ArrayAlg{
public static <T> T getMiddle(T... a){
return a[a.length/2];}
}
聪哥说
- 泛型类就是普通类的工厂,在实例化对象的时候生产相应类型的类