是否可以使用getConstructor来获取下面的类X的构造函数?
public class A {
}
public class Y {
}
public class X extends Y {
public X(A a, Y[] yy) {
}
public void someMethod() throws SecurityException, NoSuchMethodException {
Class<? extends Y> clazz = X.class;
Constructor<? extends Y> c =
clazz.getConstructor(new Class[]{
A.class,
/* what do I put in here for the array of Ys? */
});
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 7
您可以像使用"未修饰"类一样构造涉及数组表示法的类文字,即ClassName[].class.这个文字产生"描述实例数组的类ClassName".在你的情况下:
clazz.getConstructor(new Class[] {
A.class,
Y[].class
});
Run Code Online (Sandbox Code Playgroud)
或者更短.
Constructor<X> c = X.class.getConstructor(A.class, Y[].class);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7695 次 |
| 最近记录: |