我试图弄清楚如何定义一个包含子类的特定类型对象的数组。这就是我所拥有的:
Property[] list = new Property[100];
我相信这会定义一个包含100个属性的数组,但是这个数组也可能包含SubProperty。 SupProperty是Property类的扩展。
非常感谢。
答案 0 :(得分:2)
是的,阵列也可以包含SubProperty
。请找到以下代码 -
class SubProperty extends Properties{
}
和
Properties[] obj = new Properties[100];
obj[1] = new SubProperty();
你可以找回你的对象,比如 -
for(Properties prop: obj){
if(prop instanceof SubProperty){
SubProperty subProp = (SubProperty)prop;
System.out.println(subProp);
}
}
答案 1 :(得分:1)
如果你有
Animal[] list = new Animal[100]
您是否可以向该数组添加Dog
?如果Dog
是动物,您将可以执行Animal dog = new Dog();
这就是继承的内容,如果您需要要了解更多信息,请访问here
答案 2 :(得分:0)
是的,确实如此。 SubProperty
对象是一个Property
对象。您始终可以为其父级交换子类。
答案 3 :(得分:0)
您可以在任何可以使用其超类的子类中使用子类。这是OOP替代原则。它也适用于这种情况。