gpt4 book ai didi

java - Java运行时如何选择具体的类进行实例化?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:22 24 4
gpt4 key购买 nike

我得到了大约 20 个名为 A、B、C、...X、Y、Z 的类。

然后用户会给我发送一些消息,我会根据消息的内容选择一个类来实例化。该消息与其对应类的名称相同。

我可以写一个 switch case 语句来做到这一点,比如:

switch (msg):
case "A" :
class = new A();
break;
case "B" :
class = new B();
break;
case "C" :
class = new C();
break;
...

有没有更简洁的方法呢?如果我得到 1000 个类,我无法想象编码会有多无聊。

最佳答案

您可以为此使用 Class.forName():

Class c = Class.forName("foo.bar.MyClass"); // requires full class name including package
Object object = c.newInstance();

参见 documentation Class.forName() 的更多详细信息。这些特征称为反射。 Oracle 提供了一个很好的 documentation section对于这些类型的功能。

关于java - Java运行时如何选择具体的类进行实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18580019/

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