我想要创建将包含各种对象的Object数组的World类。对象java中的各种对象
public class World {
Object obj[] = new Object[10];
public void World() {
this.obj[0] = new Sphere();
this.obj[1] = new Triangle();
... and so on
}
}
然后在主:
World world = new World();
我想使用那些inclass特定对象的methots。
例如
world.obj[i].methodOfSphere();
我该如何做到这一点?
你的设计非常脆弱,充满危险。为什么这个设计?你的问题是经典的[XY问题](http://mywiki.wooledge.org/XyProblem),你问我该如何解决X代码问题,其中真正的解决方案是忘记X而代之以Y,在那里你以完全不同的方式做事。告诉我们更多关于你想要解决的总体问题,而不是你想如何解决问题,我们可能会给你一个更清洁和更好的解决方案。 – 2014-10-29 21:52:05
因为'obj'是一个'Object []',所以你会这么做(casts和'instanceof')。如果你想持有一个特定的对象,你应该在你的数组中进行。 – Makoto 2014-10-29 21:52:13
如果'Sphere'和'Triangle'实现了一个*形状*接口,则将该类型用作数组。例如'MyShapeIfc []'。如果这不是关于如何使用数组的分配,请改用List。收藏对于这类事情更好。 – 2014-10-29 21:54:44