Java中的对象数组及其子类

时间:2013-05-31 06:58:08

标签: java arrays subclass

我试图弄清楚如何定义一个包含子类的特定类型对象的数组。这就是我所拥有的:

Property[] list = new Property[100];

我相信这会定义一个包含100个属性的数组,但是这个数组也可能包含SubProperty。 SupProperty是Property类的扩展。

非常感谢。

4 个答案:

答案 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替代原则。它也适用于这种情况。