Nested Class

Résolu
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 16 avril 2007 à 22:10
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 17 avril 2007 à 14:43
Salut:

J'ai un problème avec les classes innés.

public void login () {
    final boolean state;
   
    Service service = new Service () {
       public void onSuccess (Object o) {
          state = ((Boolean)o).booleanValue ();
       }
    };
}

Le compilateur (Eclipse) réfuse l'instruction en rouge et il affiche ceci:

The final local variable bool cannot be assigned, since it is defined in an enclosing type.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts

7 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 avril 2007 à 14:43
Salut:

Je pense que je vais faire le tout dans la méthode vu que les méthodes de ma classe sont visibles dans la classe innée.

C'est le fait que ce service asynchronne qui complique les choses sinon ajouter un attribut suffira.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
16 avril 2007 à 22:14
Salut:

J'ai essayé pour surmonter ce problème d'ajouter un attribut state à l'intérieur de ma classe inné avec avec des setter/getter, ça se compile mais çe ne me donne pas le résultat souhaitable, en fait je développe un service asynchronne avec AJAX, et je ne sais pas pourquoi la valeur de l'attribut state ne change pas après appel de ce service, il renvoye toujours la valeur par défaut false bienque je la met toujours à true.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
16 avril 2007 à 22:16
Salut:

Mes camarades ce que je veux c'est comment corriger l'erreur syntaxique.


public void login () {
    final boolean state;
   
    Service service = new Service () {
       public void onSuccess (Object o) {
          state = ((Boolean)o).booleanValue ();
       }
    };
}

Le compilateur (Eclipse) réfuse l'instruction en rouge et il affiche ceci:

The final local variable bool cannot be assigned, since it is defined in an enclosing type.

Et merci infiniment.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
16 avril 2007 à 22:25
Salut,

completement oki avec l'erreur tu changes dans l'objet Service la référence sur ta variable (ou classe) 'final boolean state' alors qu'elle est dîte 'final'.........voir la portée de la var.....

------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
16 avril 2007 à 22:42
Salut:

Si je ne mets pas final ma variable devient inaccessible dans la classe inné.

J'ai modifié:

final boolean state;

par:

boolean state;

Et j'ai obtenu ce message d'erreur:

Cannot refer to a non-final variable bool inside an inner class defined in a different method


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
16 avril 2007 à 22:44
Salut:

Tu vois c'est une question de portée d'une variable.

Et pire que ça la méthode de l'interface que je dois implémenter ne retourne rien.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
17 avril 2007 à 09:19
Salut,

sort ta variable de la méthode login ou trouve une autre façon de faire

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous