从Java中的变量获取类

从Java中的变量获取类,java,Java,我正在制作一个小游戏(为了好玩),虚拟机器人在游戏中相互争斗。我有这些机器人类的名称数组,但我不知道如何加载它们。代码可能更清晰: String[] classes={"Bot1","Bot2","Bot123"}; Object[] bots=new Object[classes.length]; for(int i=0;i<classes.length;i++){ bots[i]=UnknownFunction(classes[i]); } 在主文件中: bot=Class.f

我正在制作一个小游戏(为了好玩),虚拟机器人在游戏中相互争斗。我有这些机器人类的名称数组,但我不知道如何加载它们。代码可能更清晰:

String[] classes={"Bot1","Bot2","Bot123"};
Object[] bots=new Object[classes.length];

for(int i=0;i<classes.length;i++){
  bots[i]=UnknownFunction(classes[i]);
}
在主文件中:

bot=Class.forName("Arena.Bot").newInstance();
bot.init();

您需要
Class.forName()
方法来加载类,然后
newInstance()
方法来实例化它们。假设其中有一个
0-arg构造函数
:-

bots[i] = Class.forName(classes[i]).newInstance();
还要注意,这些类名必须是
完全限定的
名称。

字符串[]类={“Bot1”、“Bot2”、“Bot123”};
String[] classes = {"Bot1", "Bot2", "Bot123"};
Object[] bots = new Object[classes.length];

for(int i = 0; i < classes.length; i++)
{
    bots[i] = Class.forName(classes[i]).newInstance();
}
Object[]bots=新对象[classes.length]; for(int i=0;i
是否要访问类似于从
String.Class
中获得的对象的
对象,还是希望获得类似于
new String()
中的类的实例?谢谢您的回答。我如何获得完全限定名?@Linksku。。你必须付出的。完全限定类名意味着
包.subpackage.classname
。例如:-
pkg1.YourClass
。我想我已经成功加载了类(try/catch不会返回任何错误),但是我无法在类中运行任何方法。我总是得到“类型对象的方法init()未定义”。@Linksku。。您正在调用什么方法?你能把密码寄出去吗?编辑您的问题以添加它。我编辑了问题。我试图运行init(),但它总是返回一个错误。
String[] classes = {"Bot1", "Bot2", "Bot123"};
Object[] bots = new Object[classes.length];

for(int i = 0; i < classes.length; i++)
{
    bots[i] = Class.forName(classes[i]).newInstance();
}