这条线在反思中意味着什么

时间:2014-03-17 18:02:26

标签: java reflection

new Class[]{String.class}

这行实际上是什么意思,为什么我们在getDeclaredConstructor()方法中作为参数传递时会写String.class?为什么我们把它作为Class数组传递?

1 个答案:

答案 0 :(得分:3)

这将创建一个类型Class的数组,其中包含单个元素,Class类的String对象。

Class#getDeclaredConstructor(..) javadoc州

  

返回反映指定构造函数的Constructor对象   由此Class对象表示的类或接口的。的的   parameterTypes参数是一个标识Class个对象的数组   构造函数的形式参数类型,按声明的顺序。如果这样   Class对象表示在非静态中声明的内部类   上下文,形式参数类型包括显式封闭   instance作为第一个参数。

您需要为相应的参数类型传入适当的Class个对象。该方法使用这些类型来确定适当的构造函数。