On Wed, 28 May 2003 17:09:39 +0200, Guillaume Desnoix <[EMAIL PROTECTED]> wrote:
Merci a Nicolas et Zeljko pour leurs commentaires.
Je ne pensais qu'aux classes explicites, les classes anonymes etant tres utiles. Qqch du genre:
public class Truc {
public int maMethode(int a) {
int z=18;
class Machin() { }
return z+a;
}
}
Je trouve ca "bizarre" et illisible. Mais effectivement, en y regardant de plus pres, ca peut etre utile en raison de la portee. J'aime beaucoup le nom genere "Truc$1Machin". Allez, on retire (1).
Ben non, justement ! Le 1, il est l� pour le cas, ultra-tordu (et franchement, si je vois un type qui fait �a, je l'�borgne) de plusieurs d�clarations dans la m�me m�thode du m�me nom de classe :
public void maSaleMethode() {
if(toto==1) {
class Toto() {}
} else {
class Toto() {}
}
}
Les classe internes permettent aussi d'utiliser les arguments de la m�thode pour peux que ceux-ci soient constants (final).
Vous allez me dire, comme les classes anonymes alors, oui mais il y a un certain nombre de "chose" que l'on ne peut d�clarer comme class anonyme, comme par exemple une classe qui utilise les arguments de la m�thode, qui implante une interface et h�rite d'une classe.
Bon, ok, c'est un peu artificiel mais �a m'est d�j� arriver une ou deux fois.
Remi
