黑马程序员技术交流社区

标题: 集合中的泛型与多态问题 [打印本页]

作者: xiaoyi    时间: 2015-1-9 19:52
标题: 集合中的泛型与多态问题
比如有两个TreeSet集合,一个装的是Person类的对象;一个装的是Student类的对象
Student是Person的子类
用迭代器取出这些对象时
建立函数
public static void printColl(TreeSet<? extends Person> ts)
迭代部分省略
为什么不能直接写Person
而一般的方法却可以使用多态
比如:在做比较器时
class Comp implements Comparator<Person>
比较部分省略

是不是因为 方法中玩的是对象的引用   迭代器中都是实实在在的对象  而对象是不能转型的?
也就是 多态只存在于引用间  可以 指向 父类 也可以 指向 子类  而不是子类对象 变成 父类对象
而对象一旦建立 就不能转型了  

以上是我的想法



作者: 潘耿威    时间: 2015-1-10 14:23
对象一旦建立 就不能转型了? 还是可以转换的!
作者: bluebloodant    时间: 2015-1-10 15:01
什么意思没看懂,怎么不能写person了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2