日期:2014-05-19 浏览次数:20775 次
public class test {
public static void main(String[] str) throws Exception{
Class c = A.class;
Constructor con = c.getConstructor(String.class);
con.newInstance("you");
}
class A{
public A(String str){
System.out.println(str);
}
}
}
import java.lang.reflect.Constructor;
public class Test
{
public static void main(String[] str) throws Exception
{
Class c = A.class;
//建议楼主看一下以下几行代码及注释
Constructor[] cons = c.getConstructors();//在这里数组中只有一个元素
for(Constructor ccc : cons)
{
Class[] pas = ccc.getParameterTypes();
for(Class cc : pas)
{
//会打印Test和String两个
//因为内部类的构造函数中默认有一个外围类的引用
System.out.println(cc);
}
}
///////////////////////////////////////////////////
//////////////////////////////////////////////////
Constructor con = c.getConstructor(Test.class,String.class);//所以这里需要多加一个参数
con.newInstance(new Test(),"you");//这里构造的时候也需要多加一个参数
}
class A
{
public A(String str)
{
System.out.println(str);
}
}
}