unterschied zwichen .class und .java datei..
was ist denn beim programieren der unterschid bzw. was ist das im allgemeinen hab echt keine anhnung mfg
3 Antworten
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.