Java 如何使用反射库获取子类型的子类型

Java 如何使用反射库获取子类型的子类型,java,reflections,Java,Reflections,这是我的场景,我有三个类: public abstract class A { public Set<Class<?>> getGrandChildren() { Reflections reflections = new Reflections(this.getClass().getPackage().getName()); Set<Class<?>> grandChildren = reflection

这是我的场景,我有三个类:

public abstract class A {

    public Set<Class<?>> getGrandChildren() {
        Reflections reflections = new Reflections(this.getClass().getPackage().getName());
        Set<Class<?>> grandChildren = reflections.getSubTypesOf(this.getClass());
        return grandChildren;
    }

}

public class B extends A {}

public class C extends B implements X {}

class D {

       public B client = new B();

       //I am trying to get all children of this class 
       client.getGrandChildren()    
}
公共抽象类A{
public Set>sunderenes=reflections.getsubscriptsof(this.getClass());
还孙子;
}
}
公共类B扩展了{}
公共类C扩展B实现X{}
D类{
公共B客户端=新B();
//我正在努力让这个班的所有孩子都参加
client.get孙辈()
}
我的编译器抱怨以下类型:

Set<Class<?>> grandChilderen = reflections.getSubTypesOf(this.getClass());

Set最简单的方法是依赖,因为它失败了,因为它需要参数化类型的值(对应于签名
public Set中的
T
),谢谢,这对我有帮助,我以前尝试过使用,但casting(类类型)起了作用。
public Set<Class<?>> getGrandChildren() {
    Reflections reflections = new Reflections(this.getClass().getPackage().getName());
    Set grandChildren = reflections.getSubTypesOf(this.getClass());
    return grandChildren;
}