Unterschied zwischen .java und .class

Shikha Chaudhary 12 Oktober 2023
  1. Grundlagen zum Schreiben eines Programms in Java
  2. Die .java-Datei in Java
  3. Die .class-Datei in Java
  4. Die Unterschiede zwischen .java- und .class-Dateien
  5. Fazit
Unterschied zwischen .java und .class

Java ist eine plattformunabhängige Programmiersprache. Es beinhaltet einen zweistufigen Ausführungsprozess anstelle der üblichen einstufigen Kompilierung wie bei der C-Sprache.

Die Ausführung des ersten Schrittes erfolgt über einen Compiler, betriebssystemunabhängig. Die Ausführung des zweiten Schrittes erfolgt mit Hilfe einer virtuellen Maschine, auch JVM oder Java Virtual Machine genannt.

Bei der zweistufigen Ausführung entstehen Dateien mit der Endung .java und .class. Dieser Artikel befasst sich mit dem grundlegenden Unterschied zwischen .java- und .class-Dateien.

Grundlagen zum Schreiben eines Programms in Java

Um das Konzept von .java- und .class-Dateien zu verstehen, muss man wissen, wie ein Java-Programm läuft. Betrachten wir als Beispiel den folgenden Code.

public class DemoProgram {
  /* This is a demo Java program that will print 'Hello Java' as the output */

  public static void main(String[] args) {
    System.out.println("Hello Java");
  }
}

Befolgen Sie diese Schritte, um dieses Programm auszuführen.

  • Schreiben Sie den obigen Code in einen Texteditor. Speichern Sie die Datei dann als DemoProgram.java. Beachten Sie, dass der Dateiname mit dem Namen der Klasse identisch sein sollte.
  • Öffnen Sie das Eingabeaufforderungsfenster mit dem Pfad zu dem Verzeichnis, in dem Sie diese Datei gespeichert haben.
  • Geben Sie diesen Befehl ein - javac DemoProgram.java. Drücken Sie die Eingabetaste. Der Befehl javac kompiliert ein Java-Programm. Es nimmt eine .java-Datei als Eingabe und wandelt sie in eine Bytecode-Datei um. Dieser Schritt startet die Kompilierung des Codes. Nach fehlerfreier Kompilierung springt der Cursor in die nächste Zeile.
    C :\Users\PC > javac DemoProgram.java
    
  • Geben Sie dann diesen Befehl ein - java DemoJava. Wir verzichten hier beim Dateinamen auf .java. Der Grund dafür ist, dass der Befehl java Bytecode als Eingabe nimmt und die endgültige Ausgabe gemäß dem Quellcode liefert. Einfach ausgedrückt ist DemoProgram diesmal keine Java-Datei, sondern ein Bytecode.
    C :\Users\PC > java DemoProgram
    
  • Der obige Befehl lässt das Programm laufen, und Sie können die Ausgabe wie folgt sehen:
    Hello Java
    

Bevor Sie fortfahren, beachten Sie die folgenden Punkte:

  • Quellcode ist der Code, den ein Programmierer in einer beliebigen Programmiersprache schreibt. Wir schreiben es manuell, um jedes Problem zu lösen.

  • In Java bildet jedes Programm eine class. Abhängig vom Zweck des Schreibens des Codes kann es mehr als eine Klasse in einem einzelnen Programm geben. Wie im obigen Beispiel gibt es nur eine einzige Klasse namens DemoProgram.

Wir erstellen im obigen Abschnitt eine Textdatei und speichern sie mit der Endung .java. Dies ist die Quelldatei, die den Compiler durchläuft.

Dadurch wird der Quellcode in eine maschinenunabhängige Codierung codiert. Dieser wird Bytecode genannt.

Wie bereits erwähnt, kann ein Programm eine oder mehrere Klassen haben. Daher wandert der Inhalt jeder Klasse während der Kodierung separat in eine andere .class-Datei.

Dann können diese Dateien auf jedem System ausgeführt werden, da sie maschinen- oder betriebssystemunabhängig sind.

Haben Sie gesehen, wann die Dateien .java und .class ins Bild kommen? Die .java-Datei entsteht, wenn wir einen Quellcode mit dieser Erweiterung speichern. Beim Kompilieren entsteht die Datei .class.

Die .java-Datei in Java

Die .java-Datei ist nichts anderes als der Quellcode selbst in Java.

Einfach ausgedrückt ist es die Datei, die den von uns geschriebenen Code enthält. Wir können einen einfachen Texteditor oder eine beliebige IDE verwenden, um ein Java-Programm zu schreiben.

Was auch immer wir verwenden, wir speichern das Programm oder den Quellcode, den wir geschrieben haben. Um eine Java-Quellcodedatei zu speichern, verwenden wir die Erweiterung .java.

Jede Sprache hat eine andere Konvention zum Speichern der Quellcodedatei. Wie in der Sprache C hat die Quellcodedatei die Erweiterung .c; in Python ist es .py und in C++ verwenden wir .cpp.

Die .class-Datei in Java

Die .class-Datei ist die Datei, die den Bytecode einer Klasse im Quellcode enthält. Diese Datei wird beim Kompilieren gebildet.

Als wir erwähnt haben, dass Java eine plattformunabhängige Sprache ist, liegt das an diesen Klassendateien. Diese Dateien können auf jedem Betriebssystem oder Computer ausgeführt werden.

Eine .class-Datei kann als kompilierte .java-Datei betrachtet werden. Es ist die Datei, die auf der JVM (Java Virtual Machine) läuft.

Die Anzahl der .class-Dateien muss nicht unbedingt eins sein. Es entspricht der Anzahl der Klassen, die ein Quellcode hat, da jede Klasse nach der Kompilierung in eine andere .class-Datei wandert.

Beispiel 1:

public class DemoProgram {
  /* This is a demo Java program that will print 'Hello Java' as the output */

  public static void main(String[] args) {
    System.out.println("Hello Java");
  }
}

Ausgabe:

C:\Users\PC>javac DemoProgram.java
    
C:\Users\PC>java DemoProgram    
Hello Java

In diesem Code gibt es nur eine Klasse, DemoProgram. Wir erhalten also aufgrund der Kompilierung nur eine .class-Datei, DemoProgram.

Sehen wir uns nun ein weiteres Beispiel an.

Beispiel 2:

// A class
class TestCase {
  public static void main(String[] args) {
    System.out.println("An example with multiple classes.");
  }
}

// Another class
class Demo {
  public static void main(String[] args) {
    System.out.println("This is an example.");
  }
}

// One more class
class Example {
  public static void main(String[] args) {
    System.out.println("It contains three classes.");
  }
}

Kompilieren Sie die Datei:

C :\Users\PC > javac Example.java

Nach der Kompilierung erhalten wir als Ausgabe nicht eine, sondern drei .class-Dateien. Daher können Sie sehen, dass es so viele .class-Dateien gibt, wie Klassen im Quellcode vorhanden sind.

Wir können jede .class-Datei wie folgt separat ausführen:

C :\Users\PC > java TestCase An example with multiple classes.

               C :\Users\PC
    > java Demo This is an example.

      C :\Users\PC
    > java Example It contains three classes.

Die Unterschiede zwischen .java- und .class-Dateien

Der Unterschied zwischen diesen beiden Dateitypen ist in der folgenden Tabelle zusammengefasst.

.java-Datei .class-Datei
Es enthält den Java-Quellcode. Es enthält den Java-Byte-Code.
Ein Programmierer oder eine Einzelperson schreibt es. Es entsteht durch die Kompilierung einer .java-Datei.
Es ist menschenlesbar. Es wird in JVM für die Ausführung des Programms verwendet.
Es bildet vor einer .class-Datei. Ohne diese kann keine Klassendatei gebildet werden. Es bildet sich immer nach einer .java-Datei.
Wir können dies in jedem Texteditor oder Java IDE schreiben. Wir können dies auf jedem Betriebssystem oder Computer ausführen.

Fazit

Dieser Artikel hat uns den Hauptunterschied zwischen einer .java-Datei und einer .class-Datei beigebracht. Wir haben auch gesehen, wie ein Java-Programm auf der Maschinenebene und der Benutzerebene läuft.

Dieses Konzept liegt der Java-Programmierung zugrunde, und es ist wichtig, es zu verstehen, um Java-Programme und -Anwendungen effizient auszuführen.

Verwandter Artikel - Java File

Verwandter Artikel - Java Class