我有两个文件,一个在我的本地机器上,另一个在共享文件夹中(来自另一台机器)。
我在localmachine上的类必须从共享文件夹中的文件类继承。
如何执行此继承?
我尝试给套CLASSPATH=%CLASSPATH%;//(machineNo)/(foldername);
,但这不起作用。
答案 0 :(得分:0)
URLClassLoader
可用于轻松开发能够从远程服务器加载类和资源的应用程序。首先,您需要定义要搜索类的URL。假定以“/”结尾的任何URL引用目录,否则假定URL引用将根据需要打开的JAR文件。构造URLClassLoader的实例后,ClassLoader类的loadClass(String name)
方法用于加载具有指定名称的类。一旦加载了类,就可以创建一个实例(这意味着将调用构造函数)。
import java.net.*;
import java.io.*;
public class MyLoader {
public static void main (String argv[]) throws Exception {
URLClassLoader loader = new URLClassLoader(new URL[] { new URL("http://www.javacourses.com/classes/") });
// Load class from class loader. argv[0] is the name of the class to be loaded
Class c = loader.loadClass (argv[0]);
// Create an instance of the class just loaded
Object o = c.newInstance();
}
}
您可以阅读完整文章here
答案 1 :(得分:0)
如果通过继承你的意思是扩展,那么简单地加载类是不够的。
您需要一些字节码操作库,如cglib,以便动态创建派生类。 (不是说这是一个艰巨的任务,但它有很多可能的陷阱,所以要小心:))