黑马程序员技术交流社区
标题:
一个反射的问题
[打印本页]
作者:
逍遥呆
时间:
2014-9-21 09:56
标题:
一个反射的问题
为什么我这个javaDemo里的Demo1是不能解决的?什么意思?
import java.lang.reflect.*;
import java.util.*;
public class Javademo {
public static void main(String[] args)throws Exception
{
//普通方式
Dome1.main(new String[]{"123","456","789"});
System.out.println("....................");
//反射方式
String className = args[0];
Class clazz = Class.forName(className);
Method methodMain = clazz.getMethod("main", String[].class);
//转为Object,不拆包
methodMain.invoke(null, (Object)new String[]{"123","456","789"});
//将数组打包
methodMain.invoke(null, new Object[]{new String[]{"123","456","789"}});
}
}
class Demo1
{
public static void main(String[] args) // throws IOException
{
for(String arg:args)
{
System.out.println(arg);
}
}
}
复制代码
作者:
hike_2008
时间:
2014-9-21 10:39
本帖最后由 hike_2008 于 2014-9-21 11:11 编辑
看拼写...这打字是不是太顺手了 .dome
还有, 你获取类名的时候, 是不是获取错了, 是不是应该获取当前类的.class , 然后再.getName()?
作者:
逍遥呆
时间:
2014-9-21 11:11
hike_2008 发表于 2014-9-21 10:39
看拼写...这打字是不是太顺手了 .dome
发现了,对不起,这问题多余了
作者:
定格在永远
时间:
2014-9-21 14:46
import java.lang.reflect.*; import java.util.*; public class Kkk{ public static void main(String[] args)throws Exception { //普通方式 String[] n = new String[]{"123","456","789"}; Demo1 D= new Demo1(n); System.out.println("...................."); //反射方式 String className = args[0]; Class clazz = Class.forName(className); Method methodMain = clazz.getMethod("Demo1", String[].class); //转为Object,不拆包 methodMain.invoke(null, (Object)new String[]{"123","456","789"}); //将数组打包 methodMain.invoke(null, new Object[]{new String[]{"123","456","789"}}); } } class Demo1 { public Demo1(String[] args)throws Exception { for(String arg:args) { System.out.println(arg); } } }
作者:
定格在永远
时间:
2014-9-21 14:47
import java.lang.reflect.*;
import java.util.*;
public class Kkk{
public static void main(String[] args)throws Exception
{
//普通方式
String[] n = new String[]{"123","456","789"};
Demo1 D= new Demo1(n);
System.out.println("....................");
//反射方式
String className = args[0];
Class clazz = Class.forName(className);
Method methodMain = clazz.getMethod("Demo1", String[].class);
//转为Object,不拆包
methodMain.invoke(null, (Object)new String[]{"123","456","789"});
//将数组打包
methodMain.invoke(null, new Object[]{new String[]{"123","456","789"}});
}
}
class Demo1
{
public Demo1(String[] args)throws Exception
{
for(String arg:args)
{
System.out.println(arg);
}
}
}
不知道符不符合
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2