sparetime
Messages postés34Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention17 août 2004
-
19 avril 2004 à 21:22
cs_Dobel
Messages postés333Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention23 novembre 2009
-
20 avril 2004 à 17:18
bonsoir
je veux faire communiquer deux classes indépendantes de sorte que j'ai une variable dans la premiere classe sur laquelle je fais un calcul et quand j'accède à l'autre classe je veux trouver le résultat dedans.
comment je peux faire avec l'opérateur this.
j'ai essayé de passer une des classes en parametre ds les mthodes de l'autre mais ca n'a pas marché ou bien je ne sais pas comment faire(c sur)
svp aidez moi vite (aujourd'hui si possible )et si possible avec un simple exemple où ca marche
merci
A voir également:
Le protocole assure que la communication entre l'ordinateur de pascal
cs_Dobel
Messages postés333Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention23 novembre 20091 19 avril 2004 à 22:21
Salut
un pitit exemple
la classe B travaille sur la variable x d'une instance de A
public class Test {
public static void main(String[] args) {
A a = new A(5);
System.out.println(a);
new B(a);
System.out.println(a);
a.methode();
System.out.println(a);
}
}
class A {
public int x;
public A(int x) {
this.x = x;
}
public void methode() {
new B(this);//B va travailler sur cette instance de A
}
sparetime
Messages postés34Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention17 août 2004 20 avril 2004 à 15:48
mais est ce que je ne peux pas declarer X comme static dans la classe test et je l'utilise ds la classe A etB de sorte que qd je demande la valeur de x a partir de la classe test je trouve que sa valeur a été modifiée??
cs_Dobel
Messages postés333Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention23 novembre 20091 20 avril 2004 à 17:18
bien sur, mais il faut faire attention à comment tu utilises x
(tu n'as plus besoin de this)
un autre chtit exemple
public class Test {
static int x=10;
public static void main(String[] args) {
A a = new A(x);//passage par valeur et non pas par reference!
a.methode();
System.out.println("a.x = "+a.x);
System.out.println("Test.x = "+x);
}
}
class A {
public int x;
public A(int x) {
this.x = x;
}
public void methode() {
Test.x = Test.x+2;
x = 2*x;//ne travaille pas sur Test.x
}
}