java动态编译,反射加载类详解编程语言

话不多说,上代码

try { 
			URL[]urls = new URL[]{new URL("file:/"+"c:/user/")}; 
			URLClassLoader loader = new URLClassLoader(urls); 
			Class c = loader.loadClass("HelloWorld");// 动态读取这个类 
			//调用加载类的main 方法 
			Method m = c.getMethod("main", String[].class); 
			m.invoke(null, (Object)new String[]{"aa","bb"}); 
			//由于可变参数是jdk5.0之后才有的 上面代码会编译成:m.invoke(null,"aa","bb"),就发生了参数个数不匹配的问题。 
			//因为,必须要加上(Object)转型。避免这个问题 
			//public static void mmm(String[] a,String[]b); 
			//public static void main(String[] args); 
		} catch (Exception e) { 
			e.printStackTrace(); 
		} 
	

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13137.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论