【发布时间】:2013-12-22 14:14:12
【问题描述】:
是否可以构造一个List<Object>,其中元素是未实例化的类,目的是获取列表元素之一并从该类运行静态方法或实例化该类的新实例?此外,如何做到这一点以及这样做是多么不可取(以及为什么)?
添加一些上下文:我想制作一个生成随机城市的应用程序,将建筑物放置在城市中,其中每个建筑物都是许多建筑物类之一的实例,每个都继承自一个抽象基类。要选择适合某块土地的建筑物,程序可能会遍历所有可能的建筑物类别的列表,检查是否可以满足该建筑物所需的参数(最小/最大高度、占地面积、形状等)或这些类可能以其他方式存储,可能使用映射或其他结构。底线是我需要将(引用?)存储到未实例化的类。
【问题讨论】:
-
如果可行的话,我会列出“知道如何创建适当对象的工厂”——这实际上取决于这些数据的来源以及它的作用。
-
最好是
List<F extends FactoryInterface>。 -
这是一个非常好的建议,考虑到您在我为帖子添加上下文之前提出的建议,尤其令人印象深刻。我很可能会走这条路。谢谢你的想法。