A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaoyi 中级黑马   /  2015-1-9 19:52  /  1343 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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

以上是我的想法


2 个回复

倒序浏览
对象一旦建立 就不能转型了? 还是可以转换的!
回复 使用道具 举报
什么意思没看懂,怎么不能写person了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马