Den Namen einer Unterklasse aus einer Superklasse holen
Sagen wir, ich habe eine Basisklasse namensEntity
. In dieser Klasse habe ich eine statische Methode, um den Klassennamen abzurufen:
class Entity {
public static String getClass() {
return Entity.class.getClass();
}
}
Nun habe ich noch eine Klasse die erweitert.
class User extends Entity {
}
Ich möchte den Klassennamen von User erhalten:
System.out.println(User.getClass());
Mein Ziel ist es, die Ausgabe von "com.packagename.User" auf der Konsole anzuzeigen. Stattdessen wird "com.packagename.Entity" angezeigt, da die Entity-Klasse direkt von der statischen Methode referenziert wird.
Wenn dies keine statische Methode war, kann dies einfach mit dem @ gelöst werdethis
Schlüsselwort innerhalb desEntity
class (d. h .:return this.class.getClass()
). Ich brauche jedoch diese Methode, um statisch zu bleiben. Irgendwelche Vorschläge, wie man das angeht?