gpt4 book ai didi

java - 根据级别/阶段加载类(class)?

转载 作者:行者123 更新时间:2023-12-01 19:15:21 24 4
gpt4 key购买 nike

我遇到了一点问题。我有一个名为“GameScreen”的类,它会知道选择了什么级别和阶段。由此我可以构建一个字符串来建议诸如“level1_1”或“level1_2”之类的内容。问题是我现在如何加载这个类?

我本来打算使用Class.forname(string),但是每个级别都是不同的类,那么如何将 new 运算符传递给该类?

我正在尝试实现这样的目标... world = new World(worldListener); 其中“World”是诸如“level1_1”之类的类。

希望这是有道理的。

最佳答案

除了有更好的方法来实现这一点(例如,参见其他答案)之外,这应该有效(未经测试,忽略异常,可能导致腹胀等。 ):

public World createWorld(String levelClassName, WorldListener listener) throws Exception
{
Class<?> clazz = Class.forName(name);
Constructor<World> ctor = (Constructor<World>) clazz.getConstructor(WorldListener.class);
World world = ctor.newInstance(listener);

return world;
}

关于java - 根据级别/阶段加载类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com