this.getClass () = aktuelle Klasse
this.getClass (). getPackage () = aktuelles Paket
Class.getName () = String des Klassennamens
Package.getName () = Zeichenfolge des Paketnamens
Ich glaube, Sie suchen nach der Reflection API, um das Äquivalent von Introspektion zu erhalten (http://download.oracle.com/javase/tutorial/reflect/).
@ Christophers Antwort behandelt das Problem des Klassennamens.
AFAIK, die Standard-Java-Klassenbibliothek bietet keine direkte Möglichkeit, den Dateinamen für die Klasse eines Objekts zu erhalten.
Wenn die Klasse mit der entsprechenden Option "-g" kompiliert wurde, können Sie möglicherweise den Klassennamen indirekt wie folgt abrufen:
Throwable.getStackTrace()
. StackTraceElement.getFilename()
, um den Quelldateinamen abzurufen. Beachten Sie, dass dies möglicherweise teuer ist, und es gibt keine Garantie dafür, dass ein Dateiname zurückgegeben wird oder dass dies der erwartete Wert ist.
Sie können den Ordner (ohne Pakete) mit der Klassendatei abrufen:
%Vor%Tags und Links java