为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Java代码 [url=][/url]
Student{
Student(){
System.out.println("I‘m a student.....");
}
}
有一个老师类
Java代码 [url=][/url]
Teacher{
Teacher(){
System.out.println("I‘m a teacher.....");
}
}
定义一个泛型类Utils<Kind>
Java代码 [url=][/url]
class Utils<Kind>
{
private Kind k;
public void setObject(Kind k){
this.k=k;
}
public Kind getObject(){
return k;
}
}
public 主类
Java代码 [url=][/url]
public class GenericDemo{
public static void main(){
Uitls<Teacher> ut=new Utils<Teacher>();//两个泛型类,分别给定
Utils<Student> us=new Utils<Student>();//Teacher类和Student类
ut.setObject(new Teacher());
Teacher teacher=ut.getObject();//编译运行都通过
//输出 I‘m a teacher。。。
us.setObject(new Student());
Student student=us.getObject();//编译运行都通过
//输出 I‘m a Student。。。
ut.setObject(new Student());
Teacher teacher=ut.getObject();//直接出现异常ClassCastException,编译出错
}
}
原文地址:http://wufanxin.blog.51cto.com/7318130/1657497