对main方法的反射

package cn.itcast.javase.reflect;

import java.lang.reflect.Method;

import org.junit.Test;

public class Demo1 {
	@Test
	public void test1() throws Exception{
		//取得Person对应的字节码对象Class
		Class clazz = Class.forName("cn.itcast.javase.reflect.Person");
		Method method = clazz.getMethod("main",String[].class);
		//JDK5.0可变参数,将字符串数组看作一个对象
		method.invoke(null,(Object)new String[]{"a","b","c"});
		//JDK1.4一维数组,
		//method.invoke(null,   new Object[]{new String[]{"a","b","c"}}    );
		//结论:编译但凡遇到数组时拆,遇到对象时不拆,
		//错误根源在于:SUN公司在JDK编译器由1.4升到5.0时的一个BUG所造成的
	}
}

 

你可能感兴趣的:(jdk,C++,c,JUnit,C#)