Elles le sont, par le simple fait que, à chaque passage dans la méthode qui crée l'instance, on recrée une nouvelle instance de cette classe alors qu'on aurait en général très bien pu utiliser l'ancienne instance. Ca, c'est pour les classes anonymes.
Pour les classes internes, écris-en une sous Eclipse qui accède aux données de la classe encapsulante et regarde le message d'erreur.
En clair, il dit qu'il doit créer une méthode accesseur, et passer de fait la visibilité de private à protected, juste pour ta pauvre classe interne. Tu aurais très bien pu coder toi-même une seconde classe, non interne, dans le fichier, qui fasse la même chose. Tu aurais alors nettement gagné en propreté des accès, et en évolutivité, puisque tu peux alors beaucoup plus facilement séparer tes deux classes.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux . En réponse à la dépêche Légende urbaine : un alligator dans le ramasse-miettes. Évalué à 1.
Pour les classes internes, écris-en une sous Eclipse qui accède aux données de la classe encapsulante et regarde le message d'erreur.
En clair, il dit qu'il doit créer une méthode accesseur, et passer de fait la visibilité de private à protected, juste pour ta pauvre classe interne. Tu aurais très bien pu coder toi-même une seconde classe, non interne, dans le fichier, qui fasse la même chose. Tu aurais alors nettement gagné en propreté des accès, et en évolutivité, puisque tu peux alors beaucoup plus facilement séparer tes deux classes.