2011-02-02 131 views
7

我有一個特別的問題,Eclipse可以很好地解決問題,但我需要一個編程解決方案。 我想要做的是獲得我提供的任何類的「類型層次結構」。日食確實顯示瞭解決方案Ctrl + T,但它是如何實現這一目標的? 是否有任何API可用,以便我可以使用它們?在Java中獲取類層次結構?

回答

2

Java有一個Reflection API,您可以使用它來確定您擁有的任何類的基類,以及特定類實現的任何接口。但是,確定從該類繼承的類會更困難。反射API還可以讓你做很多其他的事情,比如確定該類的成員是什麼,甚至可以調用該類的方法等等。

public void DisplaySuperClass(Class c) 
{ 
    System.out.println(c.getSuperclass().getName()); 
}
+0

謝謝......這真的很有用...... :) – Sonam 2011-02-02 08:28:03

+0

@ user599584:如果你喜歡這個答案,並且它回答了你的問題,你應該通過點擊答案邊上的複選標記來「接受」它。 – Avi 2011-02-02 09:01:56

1

然而沒有簡單的方法可以找到一個類的所有子類。 爲此,您將不得不加載類路徑中的所有類(可以有很多數千個類)並自己構建此樹,可能需要通過自定義的ClassLoader(並且只有在您要抵抗疼痛時才能去那裏)