Angenommen, ich habe eine Basisklasse mit dem Namen Entity
. In dieser Klasse habe ich eine statische Methode, um den Klassennamen abzurufen:
class Entity {
public static String getClass() {
return Entity.class.getClass();
}
}
Jetzt habe ich eine andere Klasse, die das erweitert.
class User extends Entity {
}
Ich möchte den Klassennamen des Benutzers erhalten:
System.out.println(User.getClass());
Mein Ziel ist es, die Ausgabe von "com.packagename.User" in der Konsole zu sehen, aber stattdessen werde ich "com.packagename.Entity" erhalten, da auf die Entity-Klasse direkt von der statischen Methode verwiesen wird.
Wenn dies keine statische Methode wäre, könnte dies leicht mithilfe des this
Schlüsselworts innerhalb der Entity
Klasse (dh :) gelöst werden return this.class.getClass()
. Ich brauche diese Methode jedoch, um statisch zu bleiben. Irgendwelche Vorschläge, wie man das angeht?