0

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

Property[] list = new Property[100];

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

非常感谢。

4

4 回答 4

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);
    }
}
于 2013-05-31T07:03:33.510 回答
1

如果你有

Animal[] list = new Animal[100]

你能在那个数组中添加Dog一个DogAnimal dog = new Dog();

于 2013-05-31T07:03:25.587 回答
0

是的。一个SubProperty对象就是一个Property对象。您始终可以将子类交换为其父类。

于 2013-05-31T07:02:44.540 回答
0

您可以在可以使用其超类的任何地方使用子类。这就是 OOP 替换原则。它也适用于这种情况。

于 2013-05-31T07:05:22.397 回答