【发布时间】:2014-11-18 14:37:26
【问题描述】:
大家好,我遇到了这个小问题。我有这个:
public class Animal {
//omitted
}
public class Dog extends Animal {
private int speed;
}
现在我有了另一个类,它生成一个迭代器并将其所有对象转换为 Animal 对象。
while(it.hasNext()) {
Animal animal = (Animal) it.next();
}
但是有些对象是 Dog,我不知道如何从子类中获取属性“速度”。
很抱歉问这种问题,我是 Java 新手。谢谢关心。
【问题讨论】:
-
检查动物是否是 Dog 的实例并将其转换为 Dog。但是我相信每个动物都有速度吗?您可以在基类中将其设置为 0,并在子类中根据需要对其进行修改。
-
user2336315:谢谢,这只是一个例子:D 不是我的实际代码。
标签: java casting subclass superclass