我想知道在使用 CustomClassLoader 加载类后如何能够正常使用它。
Main.java
...
Class <?> clazz = customClassLoader.get("MyClass");
MyClass myClass = _____________________; //fill in the blank, please
如何将 clazz 放入 MyClass,这样我就不必使用 getConstructor()、getMethod() 等所有麻烦的东西?
谢谢。
最佳答案
你不能,因为源文本中有 MyClass
...
MyClass myClass = ...;
...要求 MyClass
在编译时可用。
这里通常的解决方案是使用编译时可用的接口(interface),并让MyClass
实现该接口(interface)。
Class <?> clazz = customClassLoader.get("MyClass");
TheInterface myClass = (TheInterface)clazz.newInstance();
myClass.someInterfaceMethod();
关于java - 反射/类 -> 命名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23906871/