我试图创建一个代码来动态加载一个类,并使用它来创建新的实例和运行强制转换.我可以使用这个方法从新加载的类中创建一个实例:myClass.newInstance();.但我不能用它作为一种类型.例如:myClass myObj = new myClass();它不起作用.有可能以某种方式执行吗?
这是我试图制作的代码:
URL classUrl;
classUrl = new URL("file:///C:/classes/");
URL[] classUrls = { classUrl };
URLClassLoader ucl = new URLClassLoader(classUrls);
Class c = ucl.loadClass("Operation");
Class MyIn = ucl.loadClass("MyInter");
Object o = c.newInstance(); //IT WORKS
System.out.println(((MyIn) o).sum(2, 4)); //IT DOES NOT WORK. Message: MyIn cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud) 我这里有一个JUnit测试用例来测试一个简单的类。基本上,该类仅包含一个称为“ sum”的方法,该方法返回两个数字的和。要测试是否正确,我使用以下方法:Assert.assertEquals(2, my_object.sum(1, 2));结果显示在Eclipse的选项卡中的“故障跟踪”部分中。消息说:junit.framework.AssertionFailedError: expected:<2> but was:<3>。是否可以获取此消息并将其放入String变量?