为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{ Student(){ System.out.println("I'm a student....."); } }
有一个老师类
Teacher{ Teacher(){ System.out.println("I'm a teacher....."); } }
定义一个泛型类Utils<Kind>
class Utils<Kind> { private Kind k; public void setObject(Kind k){ this.k=k; } public Kind getObject(){ return k; } }
public 主类
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,编译出错 } }