如何通过不精确的参数类型获取构造函数?

时间:2015-03-23 11:27:23

标签: java reflection

我需要找到一个构造函数,它可以接受类和它的超类。

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()手动枚举所有构造函数吗?

0 个答案:

没有答案