我有一个特定的问题,Eclipse完美解决,但我需要一个程序化的解决方案。 我想要做的是获得我提供的任何类的“类型层次结构”。 Eclipse确实显示了按 Ctrl + T 的解决方案,但它是如何实现的呢? 是否有可用的API以便我可以使用它们?
答案 0 :(得分:7)
您可以使用Java的reflection API来获取有关运行时类型的信息。
例如,您可以使用Class.getSuperclass()向上走类型树,找到类的父级。
答案 1 :(得分:2)
Java有一个Reflection API,您可以使用它来确定您拥有的任何类的基类,以及特定类实现的任何接口。但是,确定从该类继承的类将会更加困难。反射API还允许您执行许多其他操作,也可以确定该类的成员,甚至调用该类的方法等。
public void DisplaySuperClass(Class c)
{
System.out.println(c.getSuperclass().getName());
}
答案 2 :(得分:1)
但是找不到类的所有子类都没有简单的方法。
为此你必须加载你的类路径中的所有类(可能是几千个)并自己构建这个树,可能通过自定义ClassLoader
(并且只有当你抵抗痛苦时才想去那里) )