2011-02-02 11 views
7

Tengo un problema específico, que Eclipse resuelve perfectamente, pero necesito una solución programática. Lo que quiero hacer es obtener la "jerarquía de tipos" de cualquier clase que proporcione. Eclipse muestra una solución al presionar Ctrl + T, pero ¿cómo lo consigue? ¿Hay alguna API disponible para que pueda usarla?Obteniendo la jerarquía Clase en Java?

Respuesta

2

Java tiene una API de reflexión que puede usar para determinar la clase base de cualquier clase que tenga, así como las interfaces que implemente esa clase en particular. Sin embargo, determinar qué clases heredan de esa clase será un poco más difícil. La API de reflexión también te permite hacer muchas otras cosas, como determinar qué son los miembros de esa clase, e incluso llamar a los métodos de esa clase y más.

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

Gracias ... fue realmente útil ... :) – Sonam

+0

@ user599584: Si le gustó la respuesta y respondió su pregunta, debe 'aceptarla' haciendo clic en la marca de verificación en el lado de la respuesta. – Avi

7

Se puede utilizar de reflection API el fin de obtener información sobre los tipos en tiempo de ejecución de Java.

Por ejemplo, puede usar Class.getSuperclass() para recorrer el árbol de tipos hacia arriba y buscar los padres de una clase.

1

Sin embargo, no hay una manera fácil de encontrar todas las subclases de una clase. Para esto tendría que cargar todas las clases en su classpath (que puede ser muchos miles) y construir este árbol usted mismo, posiblemente a través de un ClassLoader personalizado (y solo si es resistente al dolor que desea ir allí)

+0

Gracias ... fue realmente útil ... :) – Sonam

Cuestiones relacionadas