Maison  >  Article  >  Java  >  Pourquoi les classes Java compilées ont-elles des signes dollar ?

Pourquoi les classes Java compilées ont-elles des signes dollar ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 10:35:31961parcourir

Why Do Compiled Java Classes Have Dollar Signs?

Classes compilées Java avec signes dollar

Lors de l'utilisation d'Eclipse pour exporter une application sous forme de fichier JAR, certaines classes peuvent contenir un signe dollar et un numéro. Cela peut prêter à confusion, en particulier pour les classes relativement grandes.

Explication :

Ces classes sont liées à des classes internes, qui sont des classes déclarées dans une autre classe. Lorsqu'une classe interne est compilée, elle génère un fichier de classe distinct nommé avec le nom de la classe externe suivi d'un signe dollar et d'un nombre. Par exemple, une classe interne nommée Child au sein d'une classe nommée Parent donnerait un fichier de classe nommé Parent$Child.class.

Les classes internes anonymes, qui sont déclarées sans nom, se voient attribuer un numéro à la place. Ceci explique la présence de fichiers de classe comme Find$1.class dans le fichier JAR.

La taille du code Java n'influence pas la création de plusieurs fichiers de classe. Les classes internes sont créées séparément de la classe principale pour conserver la modularité et l'organisation du code.

Exemple :

Considérez le code suivant :

<code class="java">public class OuterClass {
    class InnerClass {
    }
    
    public static void main(String[] args) {
        // Create an instance of the inner class
        InnerClass inner = new InnerClass();
    }
}</code>

Une fois compilé, ce code donnera lieu à deux fichiers de classe : OuterClass.class et OuterClass$InnerClass.class. La méthode principale fera référence à l'InnerClass de la classe externe.

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!

Déclaration:
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