黑马程序员技术交流社区
标题:
java泛型?
[打印本页]
作者:
黑马薛有义
时间:
2011-7-28 09:04
标题:
java泛型?
我创建了一个泛型类,class Object<T>{},现在我要在Object<T>类中new类型为T的对象,应该怎么做?
T ob = new T();编译器不让过。
作者:
匿名
时间:
2011-7-28 09:49
当你创建T对象时,必须指定持有什么类型的对象。
java泛型就是你告诉编译器你使用什么类型,然后编译器帮你处理一切细节
作者:
匿名
时间:
2011-7-28 10:08
楼上说的很在理: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]从上面可以看出,我们可以定义一个泛型类,但是这个泛型类要在使用的时候传入一个时机的类型参数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2