Maison  >  Article  >  Java  >  Pourquoi les classes compilées Java contiennent-elles des noms tels que « Find$1.class » ?

Pourquoi les classes compilées Java contiennent-elles des noms tels que « Find$1.class » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 00:45:27899parcourir

Why do Java compiled classes contain names like

Désignation des classes internes dans les classes compilées Java

En Java, lors de l'exportation d'une application vers un fichier JAR, certaines classes peuvent contenir le nom de la classe suivi d'un signe dollar et d'un nombre, tel que Find$1.class. Cela se produit parce que Java compile les classes internes, y compris les classes internes anonymes, séparément de la classe principale.

Les classes internes, définies dans une autre classe, activent des concepts de programmation orientée objet tels que l'encapsulation et la réutilisabilité du code. Ils sont générés par le compilateur et leurs fichiers de classe ont la convention de dénomination suivante :

  • Classes internes nommées : OuterClass$InnerClass.class
  • Interne anonyme classes : OuterClass$1.class (où 1 représente la classe anonyme)

Par exemple, dans le code suivant :

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

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

La compilation générera les fichiers de classe suivants :

  • OuterClass.class
  • OuterClass$InnerClass.class

Le signe dollar dans les noms de fichiers de classe sert de séparateur pour différencier l'extérieur de l'intérieur cours. Cela indique que la classe interne appartient à la classe externe spécifiée.

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