Heim > Java > javaLernprogramm > Hauptteil

## Was sind Dollarzeichen in kompilierten Java-Klassen und was bedeuten sie?

Susan Sarandon
Freigeben: 2024-10-26 09:18:02
Original
980 Leute haben es durchsucht

## What Are Dollar Signs in Compiled Java Classes and What Do They Mean?

Dollarzeichen in kompilierten Java-Klassen verstehen

Beim Untersuchen von JAR-Dateien, die aus Eclipse generiert wurden, stoßen Benutzer gelegentlich auf Klassen mit Dollarzeichen ($), gefolgt von Zahlen. Dieses Phänomen, das sich besonders in größeren Klassen bemerkbar macht, hat zu der Frage geführt, ob es auf mehrere kompilierte Versionen der Klasse hinweist.

Erklärung

Das Vorhandensein von Dollarzeichen in Klassennamen weist auf innere Klassen hin . Dies sind zusätzliche Klassen, die innerhalb äußerer Klassen definiert sind. Der Compiler weist jeder inneren Klasse eine eindeutige Nummer zu, um sie zu unterscheiden.

Zum Beispiel definiert der folgende Code eine äußere Klasse mit zwei verschachtelten Klassen:

<code class="java">public class Find {
    private class InnerClass1 {}
    private class InnerClass2 {}
}</code>
Nach dem Login kopieren

Beim Kompilieren die folgende Klasse Dateien werden generiert:

  • Find.class
  • Find$InnerClass1.class
  • Find$InnerClass2.class

Zusätzlich, Anonyme innere Klassen, also Klassen, die in einer einzigen Anweisung deklariert und instanziiert werden, werden ebenfalls mit Dollarzeichen gefolgt von Zahlen dargestellt.

<code class="java">public class Main {
    public static void main(String[] args) {
        new Thread() { // Anonymous inner class
            // Override run() method
        }.start();
    }
}</code>
Nach dem Login kopieren

In diesem Beispiel führt die anonyme innere Klasse zu einer Klassendatei mit dem Namen Main$1.class.

Auswirkungen auf die Klassengröße

Entgegen der ursprünglichen Annahme bestimmt die Größe der äußeren Klasse nicht, ob innere Klassen generiert werden. Innere Klassen werden ausschließlich auf der Grundlage des Vorhandenseins verschachtelter Klassen generiert, unabhängig von der Größe der äußeren Klasse.

Das obige ist der detaillierte Inhalt von## Was sind Dollarzeichen in kompilierten Java-Klassen und was bedeuten sie?. 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!