我有一个基类Building
和子类House
和School
。我已通过以下方式声明了array
个Building
个对象。我不确定如何为每个数组元素(运行时类型)分配子类。
Building[] House = new Building[3];
Building[] School = new School[2];
答案 0 :(得分:2)
您可以使用instanceof
来确定子类
if (building instanceof House) {
House[0] = building;
}
答案 1 :(得分:1)
我不确定您是否询问如何在运行时检查类型或在运行时填充类型。如果后者使用instanceof
查看@ Salah的答案。特别是,当House
数组填充Building
个对象时,School
数组填充School
个对象的原因令我感到困惑。
分配:
Building[] house = new House[3];
Building[] school = new School[2];
您还可以使用Building
个对象填充数组,然后在需要的时候使用类型检查。