楼上说的很在理:lol
我么定义一个带泛型声明的类Apple<T>,再实际使用Apple<T>类的时候会为T传入实际的类型,这样就可以生存多个逻辑子类(物理上并不存在)
如:[code=java]package cn.itcast.heima
import java.util.*;
//定义Apple类时使用了泛型声明
public class Apple<T>
{
//使用T类型形参定义属性
private T info;
public Apple(){}
//下面方法中使用T类型形参来定义方法
public Apple(T info)
{
this.info = info;
}
public void setInfo(T info)
{
this.info = info;
}
public T getInfo()
{
return this.info;
}
public static void main(String[] args)
{
//因为传给T形参的是String实际类型,所以构造器的参数只能是String
Apple<String> a1 = new Apple<String>("苹果");
System.out.println(a1.getInfo());
//因为传给T形参的是Double实际类型,所以构造器的参数只能是Double或者double
Apple<Double> a2 = new Apple<Double>(5.67);
System.out.println(a2.getInfo());
}
}[/code]从上面可以看出,我们可以定义一个泛型类,但是这个泛型类要在使用的时候传入一个时机的类型参数 |