Class<?> c = Class.forName("my.Test2");
Object obj = c.newInstance();
Method m = c.getMethod("show", String.class,int.class);
m.invoke(obj, "aa",1);public class Test2 { public void show(Object...args){
System.out.println(args.length);
}
}
异常信息
java.lang.NoSuchMethodException: my.Test2.show(java.lang.String, int)Method m = c.getMethod("show", String.class,int.class); 这里要怎样写?问题2 Class<?> c = Class.forName("my.Test2"); 如果不带包名,只有类名 怎样能正常加载并实例化
Object obj = c.newInstance();
Method m = c.getMethod("show", String.class,int.class);
m.invoke(obj, "aa",1);public class Test2 { public void show(Object...args){
System.out.println(args.length);
}
}
异常信息
java.lang.NoSuchMethodException: my.Test2.show(java.lang.String, int)Method m = c.getMethod("show", String.class,int.class); 这里要怎样写?问题2 Class<?> c = Class.forName("my.Test2"); 如果不带包名,只有类名 怎样能正常加载并实例化
Method m = c.getMethod("show", Object[].class);
m.invoke(obj, (Object)new Object[]{"aa",1});
类型 Class<capture#3-of ?> 中的方法 getMethod(String, Class<?>...)对于参数(String, Object)不适用
还是异常java.lang.NoSuchMethodException: my.Test2.show(java.lang.String, int)
或者
c.getMethod("show", new Object[0].getClass());
这样才对
没问题啊。。public class Test {
public static void main(String[] args) {
try {
Class c = Class.forName("com.test.exam.Test2");
Object obj = c.newInstance();
Method m = c.getMethod("show", Object[].class);
m.invoke(obj, (Object)new Object[]{"aa",1});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}class Test2 { public void show(Object... args) {
System.out.println(args.length); //输出2
}
}
package my;
public class Test2 {
public void show(Object...args){
System.out.println(args.length);
}
}
package my;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args)throws Exception {
Class<?> c = Class.forName("my.Test2");
Object obj = c.newInstance();
Method m = c.getMethod("show", Object[].class);
m.invoke(obj, (Object)new Object[]{"aa",1});
}
}
输出结果:2
Class<?> c = Class.forName("my.Test2");不写包名,怎样才可以加载类
Class<?> c = Class.forName("Test2");
Java codepackage my;
import java.lang.reflect.Method;
public c……
[/Quote]
Method m = c.getMethod("show", String.class,int.class);
m.invoke(obj, "aa",1);