集册 Java实例教程 通过反射调用Main方法

通过反射调用Main方法

欢马劈雪     最近更新时间:2020-01-02 10:19:05

497
通过反射调用Main方法

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.util.Arrays;
/** 来 自 N o w J a v a . c o m - 时代Java**/

public class InvokeMain {

    public static void main(String... args) {

        try {

            Class<?> c = Class.forName(args[0]);

            Class[] argTypes = new Class[] { String[].class };

            Method main = c.getDeclaredMethod("main", argTypes);

            String[] mainArgs = Arrays.copyOfRange(args, 1, args.length);

            System.out.format("invoking %s.main()%n", c.getName());

            main.invoke(null, (Object) mainArgs);


            // production code should handle these exceptions more gracefully

        } catch (ClassNotFoundException x) {

            x.printStackTrace();

        } catch (NoSuchMethodException x) {

            x.printStackTrace();/** 来 自 时 代 J a v a**/

        } catch (IllegalAccessException x) {

            x.printStackTrace();

        } catch (InvocationTargetException x) {

            x.printStackTrace();

        }

    }

}


展开阅读全文