Heim > Java > javaLernprogramm > Warum enthalten kompilierte Java-Klassen Namen wie „Find$1.class'?

Warum enthalten kompilierte Java-Klassen Namen wie „Find$1.class'?

Patricia Arquette
Freigeben: 2024-10-26 00:45:27
Original
1008 Leute haben es durchsucht

Why do Java compiled classes contain names like

Bezeichnung innerer Klassen in Java-kompilierten Klassen

In Java können beim Exportieren einer Anwendung in eine JAR-Datei bestimmte Klassen den Klassennamen enthalten gefolgt von einem Dollarzeichen und einer Zahl, z. B. Find$1.class. Dies liegt daran, dass Java innere Klassen, einschließlich anonymer innerer Klassen, getrennt von der Hauptklasse kompiliert.

Innere Klassen, die innerhalb einer anderen Klasse definiert sind, ermöglichen objektorientierte Programmierkonzepte wie Kapselung und Wiederverwendbarkeit von Code. Sie werden vom Compiler generiert und ihre Klassendateien haben die folgende Namenskonvention:

  • Benannte innere Klassen: OuterClass$InnerClass.class
  • Anonyme innere Klassen:OuterClass$1.class (wobei 1 die anonyme Klasse darstellt)

Zum Beispiel im folgenden Code:

<code class="java">public class OuterClass {
    public class InnerClass {
        // ...
    }

    public static void main(String[] args) {
        OuterClass.InnerClass inner = new InnerClass();
    }
}</code>
Nach dem Login kopieren

Die Kompilierung generiert die folgenden Klassendateien :

  • OuterClass.class
  • OuterClass$InnerClass.class

Das Dollarzeichen in Klassendateinamen dient als Trennzeichen zur Unterscheidung zwischen außen und innen Klassen. Es zeigt an, dass die innere Klasse zur angegebenen äußeren Klasse gehört.

Das obige ist der detaillierte Inhalt vonWarum enthalten kompilierte Java-Klassen Namen wie „Find$1.class'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage