Heim > Java > javaLernprogramm > Hauptteil

Warum haben kompilierte Java-Klassen Dollarzeichen?

Patricia Arquette
Freigeben: 2024-10-26 18:54:29
Original
919 Leute haben es durchsucht

Why Do Java Compiled Classes Have Dollar Signs?

Kompilierte Java-Klassen mit Dollarzeichen

Java-Programmierer stoßen in ihren kompilierten Klassendateien häufig auf eine eigenartige Namenskonvention. Einige Klassen weisen ein seltsames Muster ihres Klassennamens auf, gefolgt von einem Dollarzeichen und einer Zahl. Beispielsweise könnten Dateien wie diese angezeigt werden:

  • Find$1.class
  • Find$2.class
  • Find$3.class
  • Find. Klasse

Eintauchen in die Sache

Entgegen der landläufigen Meinung löst die Größe der Klasse dieses Verhalten nicht aus. Die Antwort liegt in inneren Klassen. Wenn eine Klasse innere Klassen enthält, generiert der Compiler separate Klassendateien für diese inneren Klassen. Der Dateiname folgt dem Muster:

OuterClass.class
OuterClass$InnerClass.class
Nach dem Login kopieren

Anonyme innere Klassen

Anonyme innere Klassen, die ohne einen benutzerdefinierten Namen definiert werden, werden Nummern zugewiesen. Dies erklärt „Find$1.class“ und ähnliche Dateinamen.

Beispiel

Betrachten Sie den folgenden Codeausschnitt:

public class OuterClass {
    class InnerClass {
    }

    Serializable anonymous = new Serializable() {
    };
}
Nach dem Login kopieren

Der Compiler generiert die folgenden Klassendateien:

  • OuterClass.class
  • OuterClass$InnerClass.class
  • OuterClass$1.class

Anonyme Klassen in Betracht gezogen?

Die Verwendung anonymer innerer Klassen wurde kontrovers diskutiert. Einige halten es für einen Code-Geruch, während andere argumentieren, dass es in bestimmten Szenarien angemessen sei. Letztlich basiert die Entscheidung für deren Einsatz auf konkreten Designanforderungen.

Das obige ist der detaillierte Inhalt vonWarum haben kompilierte Java-Klassen Dollarzeichen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!