• [^] # Re: Légende urbaine : un alligator dans le ramasse-miettes

    Posté par . En réponse à la dépêche Légende urbaine : un alligator dans le ramasse-miettes. Évalué à -1.

    Oui, enfin, quand tu utilises une classe anonyme pour implémenter un listener, tu ne crèe qu'une seule instance, donc je ne vois pas où ça rame.

    On parle bien de la même classe anonyme, là ?
    Celle que tu définis avec un

    addListener(new WindowListener() {
    public void windowClosed() {
    // je ne fais rien
    }
    // etc, ad nauseam
    });


    Celui-là, ?
    Et bien dans ce cas, à chaque appel de la méthode où tu as ce code, tu crées une nouvelle instance de ta classe, par définition. Et donc, tu ralentis ton code.

    Sinon, je suppose que tu décris un bug d'Eclipse, parce qu'une classe interne accède directement à tout le contenu de la classe englobante, même aux variables privées. C'est d'ailleurs un des intérêts des classes internes, par exemple pour implémenter des itérateurs.
    Non, je décris le message d'information que peut te renvoyer Eclipse, avec une compilation un peu stricte, lors de l'utilisation de telles classes. Tout simplement parce que la création de l'accesseur synthétique est la seule méthode pour accéder à ces champs private.