这是一个利用迭代器打印元素的方法,希望能够实现对人类,学生类和工人类的打印:
public static <T> void sop(Collection<T> ts)//这个地方这样定义对吗?
{
for (Iterator<T> it = ts.iterator();it.hasNext() ; )
{
Object t =it.next();
if(!(t instanceof T))
throw new ClassCastException("类型不匹配");
T p =(T)t;//T代表未知类型,当调用sop方法的时候就能确定,对吗?
System.out.println(p.getName()+"....."+p.getAge());//人类中的方法,已经定义了。
}
}
注意:人类,学生类,工人类没有写出。学生类和工人类都继承人类。默认传入的都是人,所以省略了instanceof判断。