Was macht der Java Befehl ".class"

DerKoenig

Mitglied
Moin Leute,

wenn man eine Klasse "Spielzeug" hat und man in einer anderen Klasse "Spielzeug.class" aufruft oder nutzt, was kann das für ein Sinn oder Hintergrund und nutzen haben? Was macht das .class?

Ich hab leider kein Beispiel, aber mir ist das vor einiger Zeit mal aufgefallen.

Danke euch

Gruß
 
Salve

.class-File bedeutet "nur", dass es Java Byte Code ist. Also Code, welcher durch eine JVM verstanden wird.

Wenn man programmiert, hat man in erster Linie .java-Files, der Source Code. Durch den Befehl javac (Java compiler) kann man die Source Files in byte code kompilieren. Hier werden dann .class-Files rausgespuckt.

Gruss
slowy
 
Nein Nein, ich mein was anderes...

Im Code, wenn man dort, z.B. Logger.class verwendet, hab es irgendwo gesehen, weiß aber nciht mehr wo.

Also: Mir ist klar, dass das Logger.class ein Binär File bzw. ein kompiliertes Java File ist, aber hab irgendwo mal im Code gesehen, dass es genauso auftaucht und habe mich gefragt, was das bringt.
 
Achso, sorry, total falsch verstanden =)

Logger.class gibt dir ein Objekt vom typ Class zurück.
Meist braucht man diese Klasse um mit Reflection zu arbeiten:
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html

Im Zusammenhang mit Loggern:
Bei Loggern - ich rede jetzt hier von log4j - kann man einen Logger anhand solch eines class-objects laden:
Code:
Logger logger = Logger.getLogger(MeineKlasse.class);
logger.info("Test Logeintrag");

Jetzt kannst du den Logger entsprechend konfigurieren, damit dann im Logfile sowas rauskommt:
"com.package.test.MeineKlasse - Test Logeintrag"

Gruss
slowy
 
Hallo,

damit kannst du das Class-Object bekommen, das die Java VM für jeden Datentyp einmalig anlegt. Damit kannst du verschiedene Eigenschaften der Objekte untersuchen. Ich glaube das gehört mit zur Reflection-API oder wird zumindest darin verwendet, nagel mich aber bitte nicht darauf fest.

Edit: Mist, da war ich etwas zu langsam. :(

Gruß,
Wolf
 

Neue Beiträge

Zurück