unterschied zwichen .class und .java datei..

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

vereinfacht:

in der .java datei steht der ganz normale code den Du schreibst

in der .class datei steht der so genannte bytecode. dieser wird vom compiler erstellt. Jedes javaprogramm liegt erstmal in "bytecode-form" vor.

beim Ausfuehren wird vom interpreter (dafuer muss ein java runtime environment oder aehliches fuer das entsprechende betriebssystem installiert sein) dieser bytecode in maschinensprache uebersetzt.

der vorteil davon ist, dass man java programme grundsaetzlich auf jeder plattform ausfuehren kann (Windows, Mac OS, Linux -- allerdings gibt es einzelne methoden, die betriebssystemspezifisch sind).

sowas ist z.B. mit vielen anderen Programmiersprachen nicht moeglich.

mfg Kami

Okay, soll mir recht sein, für mehr Zeichen bekommt man doch mehr Punkte^^ Daher aus dem Grundlagenkapitel von dieser Seite hier http://www.boku.ac.at/javaeinf/jein1.html#was kopiert :

Filenamen

Jedes Java-Source-File darf nur eine public Klasse enthalten, und der Filename muss dann der Name dieser Klasse (mit der richtigen Groß-Kleinschreibung) mit der Extension .java sein, hat also die Form

Xxxxx.java

Der Java-Compiler erzeugt für jede Klasse ein eigenes File, das den Bytecode dieser Klasse enthält. Der Filename ist dann der Name der Klasse mit der Extension .class, hat also die Form

Xxxxx.class

Man kann auch mehrere Klassen-Files in ein komprimiertes Archiv-File zusammenfassen, das dann weniger Übertragungszeit über das Internet benötigt. Solche Java-Archiv-Files haben Namen der Form

xxx.jar

Java Compiler (javac)

Der Aufruf des Java-Compilers erfolgt im einfachsten Fall in der Form

javac Xxxxx.java

Der Name des Source-Files muss mit der Extension .java angegeben werden. Man kann auch mehrere Source-Files angeben:

javac Xxxxx.java Yyyyy.java

Falls die Klasse andere Klassen verwendet, die neu übersetzt werden müssen, werden diese automatisch ebenfalls übersetzt, ähnlich wie bei der Unix-Utility make.

Der Compiler erzeugt für jede Klasse ein File Xxxxx.class, das den Bytecode enthält. Dieser Bytecode ist plattformunabhängig: Egal auf was für einem System der Java-Compiler aufgerufen wurde, der Bytecode kann auch auf jedem anderen Computersystem ausgeführt werden, zumindest wenn es sich um "100% pure Java" handelt, was bei manchen Microsoft-Produkten leider nicht garantiert ist.

Bei weiteren Fragen einfach noch mal in dieses Thema posten, aber ich denke der Text ist relativ aufschlussreich??! Da ich Informatik während meines Studiums im Nebenfach hatte kann ich dir aus meinem Apostelnähkästchen etwas plaudern :

Für programmierung musst du suchen, suchen, suchen, suchen!! Java ist zu einem sehr großen Teil copy und paste und nur wenige Programmierzeilen sollte man wirklich auswendig wissen. Seiten wie "Java ist eine Insel" oder die oben genannte Seite sind dabei eine sehr gute Hilfe.

In einer .java-Datei wird der Java-Quellcode geschrieben. Kompilierst du nun diese .java-Datei, erhältst du eine .class-Datei, welche du mit einer Java Virtual Machine ausführen kannst.