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];} }
聪哥说
- 泛型类就是普通类的工厂,在实例化对象的时候生产相应类型的类
时间: 2024-11-18 01:10:50