gpt4 book ai didi

java - Java中如何获取一个类的所有子类?

转载 作者:行者123 更新时间:2023-12-02 10:12:44 27 4
gpt4 key购买 nike

所以我有课A并且有多个从类 A 扩展的类。我创建了该类的一个实例,有没有办法获取扩展 A 的所有其他类?

类似于:

A a = new A();
a.getAllSubclasses();

我想要做到这一点的唯一方法是扫描整个项目中的所有类并将它们存储在列表中,然后手动检查每个类是否从 A 扩展为 instanceOf。

List<Class> classList;
classList.each{
if(it instanceOf a)
//do stuff
}

这看起来很糟糕,尤其是对于一个包含数百个类的大型项目。

最佳答案

简单的答案是:是的,了解 X 类的“可访问”子类的唯一方法是扫描所有类的完整类路径,并为每个类检查是否它是 X 的子类。

并注意:当然,告诉您该类路径中的子类。

换句话说:范围总是有限制的。如果您有两个不同的项目,那么您也可以在两个项目中都有一些 X 的子类,因此您必须扫描这两个“上下文”才能了解它们。

关于java - Java中如何获取一个类的所有子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54883302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com