PDA

Visualizza la versione completa : java variabili


anna182
26-05-2004, 08:49
ciao qlc sa spiegarmi come faccio a richiamare una variabile booleana non static in un metodo static??? la variabile e il metodo sono in due classi differenti.... :confused:

LeleFT
26-05-2004, 09:25
Costruisci un metodo nella classe che contiene la variabile booleana che ti ritorna il suo valore. Se, per esempio, hai la variabile booleana flag nella classe chiamata Classe1 e la devi consultare dalla classe Classe2 Fai qualcosa del genere:


Classe1:
public class Classe1 {
private boolean flag;
...
public boolean getFlag() { return flag; }
}

Classe2:
public class Classe2 {
public static void main(String [] args) {
Classe1 c = nre Classe1();
if (c.getFlag()) {
// Qui entro se flag Ŕ true
} else {
// Qui entro se flag Ŕ false
}
...
// Posso memorizzarne il valore...
boolean miaVar = c.getFlag();
}
}


Ciao. :ciauz:

anx721
26-05-2004, 13:04
Originariamente inviato da anna182
ciao qlc sa spiegarmi come faccio a richiamare una variabile booleana non static in un metodo static??? la variabile e il metodo sono in due classi differenti.... :confused:

Essendo la variabile non statica, questa puo essere acceduta attraverso un'istanza della classe, quindi il metodo statico deve avere come argomento l'oggetto da cui leggere la variabile:



class A{

//variabile no static
int s = 10;
}

class B{

//metodo static che accede alla variabile
//static dell'oggetto A
public static void printStatic(A a){
System.out.println(a.s);
}
}


:ciauz:

Angelo1974
26-05-2004, 13:20
In merito all'esempio di anx721; occhio perchŔ se la variabile Ŕ private oppure protected ( oppure se la lasci come l'ha creata anx721 )e le classi sono in package differenti essa non sarÓ visibile.
Per risolvere a ci˛ ci sono due strade
1) Se la variabile non Ŕ molto importante puoi renderla public
2) Crei i relativi set e get della variabile

anx721
26-05-2004, 13:45
Originariamente inviato da Angelo1974
In merito all'esempio di anx721; occhio perchŔ se la variabile Ŕ private oppure protected ( oppure se la lasci come l'ha creata anx721 )e le classi sono in package differenti essa non sarÓ visibile.


non sarebbe visibile neanche se le classi fossero nello stesso package, ma ci˛ dipenderebbe non dall'essere static o meno, ma dalla visibilitÓ imposta dai modificatori.

Loading