我需要找到一个构造函数,它可以接受类和它的超类。
get
方法不起作用,导致NoSuchMethodException
:
package tests.java;
import java.lang.reflect.Constructor;
public class Try_ConstructorReflection {
public static class A {
}
public static class A1 extends A {
}
public static class A2 extends A {
}
public static class B {
public B(A a) {
}
}
public static class B1 {
public B1(A1 a) {
}
}
public static class B2 {
public B2(A2 a) {
}
}
public static void main(String[] args) throws NoSuchMethodException, SecurityException {
Class<?> cls = B.class;
Constructor<?> cons = cls.getConstructor(B1.class);
System.out.println(cons.toString());
}
}
完成任务的唯一方法是使用getConstructors()
手动枚举所有构造函数吗?