可以在Java中动态创建对象的实例吗?

钟Chun

我正在尝试在控制台上使用Java制作二十一点游戏。我正处于决定每个回合有多少人参加的阶段。在每个回合开始之前,控制台会要求用户键入将在此回合中玩多少个玩家,并创建与该号码相对应的玩家对象。限制是从0到5。我需要弄清楚如何根据输入来创建1〜5个Player对象。您将如何在Java中动态创建对象的实例?我知道您可以执行switch语句,但是想知道是否还有另一种方法。

如果new Player()在循环中执行,它将生成与执行循环一样多的实例。在您的情况下,问题很可能不是如何实际生成播放器,而是如何修改播放器以供以后使用。您可以通过将它们存储在集合或数组中来做到这一点:

List<Player> players = new ArrayList<>();
for(int i=0;i<number;i++) {
    players.add(new Player(i));
}

在这种情况下,我生成number的播放器数量将与实际数量一样,并将实际数字传递给Player实例的构造函数。

如果您确实想生成不同类的实例(例如全部实现Player接口的实例),则必须对此进行硬编码(例如您提到的switch语句)或进行反射。在后一种情况下,您需要一个实际类名的数组/集合,或者是一个如何生成它们的规则。但是我真的认为让同一个班级的所有球员成为前进之路。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们可以在Java中创建接口的实例吗?

动态创建对象的实例

matplotlib:我可以创建AxesSubplot对象,然后将它们添加到Figure实例中吗?

您可以在类中创建帮助程序函数而无需实例化该类的对象吗?

在Java中创建动态给定类的实例

我可以在运行时通过JSON动态创建Java对象吗?

可以从状态对象数组动态创建React.createRef()吗?

动态创建对象实例名称

java - 我可以使用Java中每个元素的代码创建动态网格视图吗?

JAVA FX:我可以从任何控制器访问main中实例化的对象吗?

Java 8:我们可以使用 map 在流中创建实例方法 ref 吗?

是否可以在Rails 4中动态创建实例?

是否可以在Java中创建对象的实例而无需调用构造函数?

有什么办法可以在Java中创建动态@ServerEndpoint地址吗?

有什么方法可以使用Java动态地在zip文件中创建zip吗?

在Java中动态创建新对象

由于以下原因,可以在堆中实例化对象吗?

我可以在构造函数中创建actor实例吗?

可以动态创建htmlhelpers吗?

是否可以通过Kotlin中的方法引用创建对象实例

我可以在Jenkins管道中动态创建阶段吗?

我可以在回调中动态创建测试规范吗?

我可以在静态网站中创建动态网页吗?

您可以在 C++ 中动态创建 for 循环吗?

Java动态创建类的实例

在Java中,我们可以在子类本身和子类的方法之外创建子类的对象吗?

我们可以在没有类的情况下在java中创建对象吗?

如何在Java中动态创建类的实例?

如何在Java中动态创建类的实例?