类的动态加载(编写一个JAVA文件,并在电脑的其他地方非本工程里存放一个或几个.class文件。在编写的这个JAVA文件中引用.class对象并使用.class中的方法。在静态加载方法中我们都是通过 类名 对象名=new 类名();实现类的加载)
能不能给我具体的代码
追答//DynamicLoading.java
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
public class DynamicLoading {
public static void main(String[] args) throws Exception {
URL url = new URL("file:/F:/demo/"); //A和此类必须用同样的编译器版本编译,否则报错
URLClassLoader ucl = new URLClassLoader(new URL[]{url});
Object o = ucl.loadClass("A").newInstance();
Class c = o.getClass();
Method m = c.getDeclaredMethod("print");
m.setAccessible(true);
m.invoke(o);
}
}
//A.java
//A编译后放到F:\demo\
class A {
private void print() {
System.out.println("A has been loaded");
}
}