A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 逍遥呆 中级黑马   /  2014-9-21 09:56  /  984 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么我这个javaDemo里的Demo1是不能解决的?什么意思?

  1. import java.lang.reflect.*;
  2. import java.util.*;


  3. public class Javademo {

  4.         public static void main(String[] args)throws Exception
  5.         {
  6.                 //普通方式
  7.                 Dome1.main(new String[]{"123","456","789"});
  8.                 System.out.println("....................");
  9.                 //反射方式
  10.                 String className = args[0];
  11.                 Class clazz = Class.forName(className);
  12.                 Method methodMain = clazz.getMethod("main", String[].class);
  13.                 //转为Object,不拆包
  14.                 methodMain.invoke(null, (Object)new String[]{"123","456","789"});
  15.                 //将数组打包
  16.                 methodMain.invoke(null, new Object[]{new String[]{"123","456","789"}});
  17.         }
  18.        
  19. }
  20. class Demo1
  21. {
  22.        
  23.     public static void main(String[] args)                 // throws IOException
  24.     {
  25.             for(String arg:args)
  26.             {
  27.                     System.out.println(arg);
  28.             }
  29.     }

  30. }
复制代码

4 个回复

倒序浏览
本帖最后由 hike_2008 于 2014-9-21 11:11 编辑

看拼写...这打字是不是太顺手了 .dome
还有, 你获取类名的时候, 是不是获取错了, 是不是应该获取当前类的.class , 然后再.getName()?
回复 使用道具 举报
hike_2008 发表于 2014-9-21 10:39
看拼写...这打字是不是太顺手了 .dome

发现了,对不起,这问题多余了
回复 使用道具 举报
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);             }     }  }
回复 使用道具 举报
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);
            }
    }

}
不知道符不符合
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马