用EditPlus 可编译运行出正确结果。
用MyEclipse 却总是不对,
纠结了一晚上,就是想整对了。
EditPlus源代码:
- import java.lang.reflect.*;
- class Test
- {
- public static void main(String[] args) throws Exception
- {
- String className = args[0];
- Method method =
- Class.forName(className).getMethod("main",String[].class);
-
- method.invoke(null,(Object)new String[]{"5435","432","321"});
- }
- }
- class changMain
- {
- public static void main(String[] args)
- {
- for(String arg : args){
- System.out.println(arg);
- }
- }
- }
复制代码
其实都是对的。就是在MyEclipse中run 的时候先 Arguments 要设定 changMain
现在就是:就是出不来结果。
MyEclipse中源代码。
一try 就挂了。
- package com.itheima.day2;
- import java.lang.reflect.*;
- public class ReflectTest1 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println("222222");
- try{
- /* String className = args[0];
-
- Method me = Class.forName(className).getMethod("main",String[].class);
-
- //me.invoke(null, (Object)new String[]{"4324","333"});
- me.invoke(null, new Object[]{new String[]{"4324","333"}});
- System.out.println("111111");*/
- String className = args[0];
-
- Method method =
- Class.forName(className).getMethod("main",String[].class);
-
- method.invoke(null,(Object)new String[]{"5435","432","321"});
-
- }
- catch(Exception e){
- throw new RuntimeException("99");
- }
-
-
-
- }
- }
- class CaoNimaAA {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- for(String arg : args){
- System.out.println(arg);
- }
- }
- }
复制代码
烦死人了。求点明啊!~!~!~ |