Maison > Java > javaDidacticiel > le corps du texte

Pourquoi les classes compilées Java dans les fichiers JAR ont-elles des signes dollar et des chiffres dans leurs noms de fichiers ?

Patricia Arquette
Libérer: 2024-10-25 11:01:02
original
657 Les gens l'ont consulté

Why do Java compiled classes in JAR files have dollar signs and numbers in their file names?

Classes compilées Java présentant des signes dollar dans les noms de fichiers

Question :

Dans les fichiers JAR exportés créés à l'aide d'Eclipse, certains les fichiers de classe affichent le nom de la classe suivi d'un signe dollar et d'un nombre. Par exemple :

<code class="java">Find.class 
Find.class
Find.class
Find.class</code>
Copier après la connexion

Est-ce une conséquence des limitations de taille de code, où les classes plus grandes sont divisées en plusieurs classes plus petites ? Des recherches approfondies en ligne n’ont donné aucune information pertinente. Quelqu'un peut-il fournir une explication ?

Réponse :

Ces fichiers de classe supplémentaires sont le résultat de classes internes au sein de la classe d'origine. Les classes internes sont imbriquées dans les classes externes et sont déclarées à l'aide du mot-clé class :

<code class="java">public class OuterClass {
    public class InnerClass {
        // Nested code
    }
}</code>
Copier après la connexion

Lorsqu'une classe contenant des classes internes est compilée, des fichiers de classe distincts sont générés pour chaque classe interne, en suivant la convention de dénomination OuterClass$InnerClass. .classe. Les classes internes anonymes (celles sans nom) se voient attribuer des identifiants numériques, ce qui donne des noms de fichiers comme OuterClass$1.class.

Contrairement à la croyance populaire, la taille de la classe d'origine n'influence pas la création de plusieurs fichiers de classe. . La présence de classes internes est la seule raison de ce comportement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal