public class MyClassLoader extends URLClassLoader{ public MyClassLoader() { super(new URL[0]); } } MyClassLoader myClassLoader = new MyClassLoader(); myClassLoader.loadClass("test.A");
package test; public class A { public static void main( String[] args ) { try { //定义两个类装载器 MyClassLoader aa= new MyClassLoader(); MyClassLoader bb = new MyClassLoader();
版本 1: package test; Intefer Same{ public String getVersion(); } 版本 2: Package test; Intefer Same{ public String getName(); }
接口A两个版本的实现:
版本1的实现 package test; public class Same1Impl implements Same { public String getVersion(){ return "A version 1";} } 版本2的实现 public class Same 2Impl implements Same { public String getName(){ return "A version 2";} }