Obtendo o nome de uma subclasse de uma superclasse
Digamos que eu tenho uma classe base chamadaEntity
. Nessa classe, eu tenho um método estático para recuperar o nome da classe:
class Entity {
public static String getClass() {
return Entity.class.getClass();
}
}
Agora eu tenho outra classe estender isso.
class User extends Entity {
}
Quero obter o nome da classe de Usuário:
System.out.println(User.getClass());
Meu objetivo é ver a saída "com.packagename.User" no console, mas acabarei com "com.packagename.Entity", pois a classe Entity está sendo referenciada diretamente pelo método estático.
Se este não fosse um método estático, isso poderia ser facilmente resolvido usando o métodothis
palavra-chave dentro doEntity
classe (ou seja:return this.class.getClass()
) No entanto, preciso desse método para permanecer estático. Alguma sugestão sobre como abordar isso?