Inner class et accès aux membres protected --> compiler bug ? [JAVA] - Java - Programmation
Marsh Posté le 22-06-2004 à 14:40:43
ReplyMarsh Posté le 22-06-2004 à 14:42:26
En parcourant la bug parade de Sun, il s'agit bien d'un bug du JDK 1.2 :
http://bugs.sun.com/bugdatabase/vi [...] id=4116802 pour ceux qui veulent plus d'infos
Marsh Posté le 22-06-2004 à 14:47:51
oui, biensûr, c'est ce qui les différencie des classes simplement "nested" (qui sont déclarées pareil, mais avec le mot clef "static" ) on accède à l'instance englobante par ClasseEnglobante.this .
Marsh Posté le 22-06-2004 à 14:52:18
ok, merci.
la principale fonction de ces classes, c'est de jouer le rôle de proxy/propriété ?
Marsh Posté le 22-06-2004 à 15:15:56
Taz a écrit : ok, merci. |
bof, je les utilise quand j'ai besoin d'une toute petite classe non-réutilisable (implémentation concrète), style les handlers dévènement. Comme il y a capture du contexte, je les utilise comme fermeture lexicale aussi.
petits exemples
en closure :
Code :
|
en petite classe non-réutilisable :
Code :
|
Marsh Posté le 22-06-2004 à 14:24:00
Un exemple valant mieux qu'une explication alambiquée, voilà mon problème (exemple bateau) :
J'ai une classe fruit.Fruit
et une classe orange.Orange :
Lorsque je compile Orange avec le JDK 1.2.2, j'ai le message suivant :
orange/Orange.java:17: Variable name in class fruit.Fruit not accessible from inner class orange.Orange. InnerClass.
System.out.println(name);
^
1 error
Avec une JDK 1.1, ou une >=1.3 ça passe
s'agit il d'un bug du compilateur d'après vous ?
Message édité par noldor le 22-06-2004 à 14:26:15
---------------
http://runnerstats.net