Java 我们可以得到扩展特定类的所有类吗

Java 我们可以得到扩展特定类的所有类吗,java,Java,比方说 Class A { public void method(); } //Class File Class B extends A { } //Class File Class C extends A { } 是否有一种方法可以获取扩展类a的所有类。我尝试使用javassist,但没有成功。您可以使用它来完成此操作 例如: Reflections reflections = new Reflections("path.to.package"); Set<Cla

比方说

Class A
{
    public void method(); 
}

//Class File  
Class B extends A
{

}

//Class File
Class C extends A
{

}
是否有一种方法可以获取扩展类a的所有类。我尝试使用javassist,但没有成功。

您可以使用它来完成此操作

例如:

Reflections reflections = new Reflections("path.to.package");
Set<Class<? extends MyClass>> subTypes = reflections.getSubTypesOf(MyClass.class);
Reflections=新反射(“path.to.package”);

你的问题不清楚。你把所有的课程都放在一个项目里是什么意思?在一个java项目中可以有许多包,在每个包中可以有多个类。但我并没有完全理解你的问题!我想列出所有扩展了类AI的类,但我不太明白为什么要这样做,但请尝试
instanceof
了解它是否是一个子类,然后您可以打印它或将它存储在任何您想要的地方。Java不定义“project”,但某些IDE定义了它。如果您没有使用IDE,那么必须定义“项目”的含义。另外,给定类A,是否还要列出扩展类A的所有类,依此类推?某些IDE(如Eclipse)具有从指定类开始显示整个类层次结构的选项。@FredK我没有使用任何IDE。我得到的是java.lang.NoClassDefFoundError:com/google/common/base/Predicate可能是因为jar不匹配问题。尝试了一些不同版本的反射jar。但是仍然有相同的例外,您是否使用Maven进行组装和依赖关系管理?或者将jar添加到类路径中?如果不使用Maven,则必须将缺少的依赖项添加到类路径中。