Digamos que tengo una clase base llamada Entity
. En esa clase, tengo un método estático para recuperar el nombre de clase:Obteniendo el nombre de una subclase dentro de una superclase
class Entity {
public static String getClass() {
return Entity.class.getClass();
}
}
Ahora tengo otra clase extender eso.
class User extends Entity {
}
que desea obtener el nombre de la clase de usuario:
System.out.println(User.getClass());
Mi objetivo es ver la salida "com.packagename.User" a la consola, sino que voy a terminar con "com.packagename.Entity" ya que la clase Entity se referencia directamente desde el método estático.
Si no se trata de un método estático, esto podría resolverse fácilmente utilizando la palabra clave this
dentro de la clase Entity
(es decir, return this.class.getClass()
). Sin embargo, necesito este método para permanecer estático. ¿Alguna sugerencia sobre cómo abordar esto?
Gracias por aclarar, supongo que no sé lo suficiente acerca de cómo se compilan los métodos estáticos. Esto ayuda a aclarar las cosas, tendré que trabajar en una solución alternativa. –
+1, exactamente a la derecha. Toda esta pregunta nace de un malentendido sobre cómo funcionan los métodos estáticos. –