动态绑定数组

时间:2014-03-13 00:55:08

标签: java

我在程序中遇到动态绑定功能问题。

 Building[] b = new Building[3];//creates the object b
   b[0] = new Building(squarefootage, stories);
   b[1] = new House(squarefootage, stories, beds, baths);
   b[2] = new School(squarefootage, stories, classes);
   b[0].get_squarefootage();//calls the user to enter the area
   b[0].get_stories();//calls the user to enter the floors
   b[1].get_bedrooms();
   b[1].get_bathrooms();

我收到lines b[1].get_bedrooms();b[1].get_bathrooms();的错误,它找不到符号get_bathrooms和get_bedrooms。我在子类House中有这些函数,并将它分配给数组中的[1]插槽。为什么它没有在子类中注册该函数?感谢您的帮助,也许没有解释自己最好的,我在这里新...

1 个答案:

答案 0 :(得分:0)

如果使用多态数组,则必须对这些值进行类型转换。

((House)b[1]).get_bedrooms();

当你最初听到它时,多态性听起来是一个非常有用的功能,它非常有用,但不是很有用。