Maison >Java >javaDidacticiel >Pourquoi les classes compilées Java ont-elles des signes dollar ?
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 :
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
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() { }; }
Le compilateur générera les fichiers de classe suivants :
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!