Maison > Java > javaDidacticiel > le corps du texte

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

Patricia Arquette
Libérer: 2024-10-26 18:54:29
original
919 Les gens l'ont consulté

Why Do Java Compiled Classes Have Dollar Signs?

Classes compilées Java avec signes dollar

Les programmeurs Java rencontrent souvent une convention de dénomination particulière dans leurs fichiers de classe compilés. Certaines classes présentent un motif étrange de leur nom de classe suivi d'un signe dollar et d'un chiffre. Par exemple, vous pouvez voir des fichiers tels que :

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

Plonger dans la cause

Contrairement à la croyance populaire, la taille de la classe ne déclenche pas ce comportement. La réponse réside dans les classes internes. Lorsqu'une classe contient des classes internes, le compilateur génère des fichiers de classe distincts pour ces classes internes. Le nom du fichier suit le modèle :

OuterClass.class
OuterClass$InnerClass.class
Copier après la connexion

Classes internes anonymes

Les classes internes anonymes, définies sans nom personnalisé, se voient attribuer des numéros. Ceci explique "Find$1.class" et les noms de fichiers similaires.

Exemple

Considérez l'extrait de code suivant :

public class OuterClass {
    class InnerClass {
    }

    Serializable anonymous = new Serializable() {
    };
}
Copier après la connexion

Le compilateur générera les fichiers de classe suivants :

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

Classes anonymes envisagées ?

L'utilisation de classes internes anonymes a fait l'objet de débats. Certains considèrent qu’il s’agit d’une odeur de code, tandis que d’autres affirment qu’elle est appropriée dans certains scénarios. En fin de compte, la décision de les utiliser est basée sur des exigences de conception spécifiques.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!