获取类的方法参数类型返回 Class类型(为什么不是别的类型)的数组的好处在哪里 Class 和 constructor 存在什么关系呢 
public static void main(String[] args) {

Class c = student.class;

Constructor con[]=c.getConstructors();

for (int i = 0; i < con.length; i++) {
constructor = con[i];
Class[] c1=constructor.getParameterTypes(); for (int j = 0; j < c1.length; j++) { Class class1 = c1[j];

System.out.print(c1[j].getName());

}
System.out.println("-----------------------------");

}


}}

解决方案 »

  1.   

    返回什么类型?Class是一个类的模板,能描述了一个类。你获得一个类的constructor也就是构造方法后,要想调用,必须知道这个类的构造方法需要参数的个数和类型。。Class就可以很详细的描述一个参数的类型,知道类型后调用时就知道要传什么类型的值进去。。Class可以很明确的知道一个类里面有几个constructor,还有constructor所需要的参数。整体来说,Class就是一个类的设计图纸,上面很清楚的描述了这个类的结构。
      

  2.   

    在运行中的 Java 程序中,用 java.lang.Class 类来描述类和接口等。 
    下面就是获得一个 Class 对象的方法之一: 
    Class c = Class.forName("java.lang.String"); 
    这条语句得到一个 String 类的类对象。还有另一种方法,如下面的语句: 
    Class c = int.class; 
    或者 
    Class c = Integer.TYPE; 
    它们可获得基本类型的类信息。其中后一种方法中访问的是基本类型的封装类 (如 Integer) 中预先定义好的 TYPE 字段。 
    然后是调用诸如 getDeclaredMethods 的方法,以取得该类中定义的所有方法的列表。 
    一旦取得这个信息,就可以进行下一步了——使用 reflection API 来操作这些信息,如下面这段代码: 
    Class c = Class.forName("java.lang.String"); 
    Method m[] = c.getDeclaredMethods(); 
    System.out.println(m[0].toString()); 
    它将以文本方式打印出 String 中定义的第一个方法的原型。 
    这三个步骤将为使用 reflection 处理特殊应用程序提供例证。 
    模拟 instanceof 操作符 
    得到类信息之后,通常下一个步骤就是解决关于 Class 对象的一些基本的问题。例如,Class.isInstance 方法可以用于模拟 instanceof 操作符
      

  3.   

    我在这个地方看到了java反射机制中的比较深入的讨论,重点说了反射的自检self-representation ,原因链接,安全性,常用方法,反射的性能劣势等,http://www.7747.net/kf/201103/86455.html