比如有两个TreeSet集合,一个装的是Person类的对象;一个装的是Student类的对象
Student是Person的子类
用迭代器取出这些对象时
建立函数
public static void printColl(TreeSet<? extends Person> ts)
迭代部分省略
为什么不能直接写Person
而一般的方法却可以使用多态
比如:在做比较器时
class Comp implements Comparator<Person>
比较部分省略
是不是因为 方法中玩的是对象的引用 迭代器中都是实实在在的对象 而对象是不能转型的?
也就是 多态只存在于引用间 可以 指向 父类 也可以 指向 子类 而不是子类对象 变成 父类对象
而对象一旦建立 就不能转型了
以上是我的想法
|
|