Was ist das JAVA-Dateiformat?
Eine .java-Datei ist eine reine Text-Quellcodedatei, die in der Programmiersprache Java geschrieben wurde. Java ist eine objektorientierte Programmiersprache, die auf den Konzepten von Klassen und Objekten aufbaut. .java-Quelldateien werden vom javac-Compiler in .class-Bytecode-Dateien kompiliert; um das resultierende Programm auszuführen, ist eine Java Virtual Machine (JVM) erforderlich. Java ist zudem die primäre Sprache für die Entwicklung von Android-Anwendungen.
Objektorientierte Programmierung
Java wurde stark von C++ beeinflusst, obwohl es von Grund auf als plattformunabhängige Sprache konzipiert wurde. Die ursprünglichen Entwickler akzeptierten einige Kompromisse bei der rohen Ausführungsgeschwindigkeit, um die Portabilität gemäß dem Motto „write once, run anywhere“ (einmal schreiben, überall ausführen) zu erreichen; moderne JIT-Kompilierung (Just-in-Time) hat diese Lücke inzwischen weitgehend geschlossen. .java-Dateien bestehen fast ausschließlich aus Klassen-, Interface-, Enum- und Record-Deklarationen, wobei nur eine kleine Gruppe primitiver Typen (wie int, boolean und double) außerhalb des Objektmodells liegt. Konventionsgemäß enthält jede .java-Datei genau einen öffentlichen Typ, und der Dateiname muss mit dem Namen dieses Typs übereinstimmen - zum Beispiel muss App.java die Deklaration public class App enthalten.
Zur Vereinfachung ist eine Klasse eine Verallgemeinerung - eine Vorlage - eines Objekts:
- *Klasse:* Mensch - *Objekt:* Smith John
- *Klasse:* Flugzeug - *Objekt:* Boeing 737
Jede Klasse definiert die Eigenschaften, die ein Objekt haben kann (zum Beispiel kann ein Auto Eigenschaften wie Farbe, Anzahl der Sitze usw. haben) und die Methoden, die es ausführen kann - also die Operationen oder Aktionen, die es durchführen kann (zum Beispiel kann ein Auto-Objekt beschleunigen, bremsen und hupen). Klassen können von anderen Klassen erben oder andere Klassen zusammensetzen, was die Wiederverwendung von Code und modulares Design ermöglicht.
Das Kompilieren einer .java-Datei mit javac erzeugt eine .class-Datei; mehrere .class-Dateien werden üblicherweise in einem JAR-Archiv zur Verteilung verpackt. Seit Java 11 kann ein Ein-Datei-.java-Programm auch direkt mit dem Befehl java gestartet werden, ohne einen expliziten Kompilierschritt.
Sicherheit
RISIKO: LOWEine .java-Datei ist passiver Quelltext - das Öffnen oder Lesen kann Ihren Computer nicht beschädigen. Das Risiko besteht nur, wenn Sie sie KOMPILIEREN und AUSFÜHREN: Wie jedes Programm, das Sie aus fremdem Code erstellen, wird es mit Ihren Berechtigungen ausgeführt und könnte alles tun, was im Code steht. Prüfen oder vertrauen Sie daher der Quelle, bevor Sie „javac“/„java“ ausführen. Es gibt keine automatische Ausführung durch das bloße Betrachten der Datei in einem Editor.
Formatdetails
kurz gefasstProgramme zum Öffnen von JAVA-Dateien
Technische Details
technische Spezifikation| MIME-Typ | text/x-java-source (auch als text/x-java akzeptiert) |
| Textkodierung | UTF-8; der Standard für javac seit Java 18 (2022); ältere Toolchains erfordern ein explizites -encoding Flag |
| Dateisignatur | Keine - reiner Text ohne Magic Bytes; beginnt typischerweise mit einer Package-Deklaration, Import-Anweisungen oder einer Klassendefinition |
| Kompilierungsausgabe | javac kompiliert jede .java-Datei in eine oder mehrere .class-Bytecode-Dateien, eine pro im Quellcode definiertem Typ |
| Ein öffentlicher Typ pro Datei | Der Name eines öffentlichen Typs muss exakt mit dem Dateinamen übereinstimmen - z. B. muss App.java die public class App deklarieren; ein Verstoß dagegen ist ein Kompilierfehler |
| Reihenfolge der Dateistruktur | Optionale Package-Deklaration → Import-Anweisungen → Klassen-, Interface-, Enum- oder Record-Deklarationen mit Feldern und Methoden |
| Typische Dateigröße | 1 KB - 100 KB; eine kleine Hilfsklasse kann unter 1 KB liegen, eine große Klasse überschreitet selten 100 KB |
| Plattformunterstützung | Plattformübergreifend: Windows, macOS, Linux und jedes Betriebssystem mit installiertem JDK; derselbe Quellcode lässt sich auf allen Plattformen kompilieren |
| Sprachversionsmechanismus | Die Syntaxebene wird nicht in der Datei selbst gespeichert; sie wird zur Kompilierzeit über javac --release N (z. B. --release 21) gesteuert |
| Primitive Typen | Acht integrierte Primitive - int, long, double, float, boolean, char, byte, short - existieren neben Objekttypen |
| Moderne Syntax-Erweiterungen | Records (Java 16), Sealed Classes (Java 17), Pattern Matching für switch (Java 21), Unnamed Patterns und Variablen (Java 22) |
| Direktstart (Java 11+) | Eine Ein-Quellendatei-.java kann mit java FileName.java ohne vorherigen javac-Kompilierschritt ausgeführt werden |
| Deployment-Verpackung | Mehrere kompilierte .class-Dateien werden in einem .jar-Archiv für die Verteilung und Ausführung auf jeder JVM gebündelt |
| Sprachverwaltung | Java-Sprachspezifikation wird von Oracle gepflegt; Open-Source-Implementierung über OpenJDK unter dem Java Community Process (JCP) |
| Gängige Entwicklungswerkzeuge | IntelliJ IDEA, Eclipse IDE und Visual Studio Code (mit dem Java Extension Pack) bieten vollständige Sprachunterstützung für .java-Dateien |
| Veröffentlicht | 1995 (Java 1.0, Sun Microsystems) |
| Neueste Version | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | docs.oracle.com |
JAVA-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu JAVA-Dateien.