Nicolas Delsaux wrote:

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



Répondre à