PDA

View Full Version : [JAVA] Accedere alla variabile di esemplare di una classe


Bestseller
05-03-2012, 19:38
Buonasera a tutti.
Ho un problema con Java. Sono sicurò che è una banalità: è che ora mi sfugge di mente la soluzione. Vorrei accedere dal sorgente di una classe a una variabile di esemplare pubblica di un'altra classe (non statica), contenuta nello stesso pacchetto della prima. Ho provato in vari modi:
- scrivendo semplicemente il nome della variabile
- scrivendo nomeOggetto.nomeVariabile
- scrivendo nomeClasse.nomeVariabile
ma nessuna ha funzionato
Come devo fare? Devo importare la classe?
Grazie! :)

ndakota
05-03-2012, 19:43
Penso basti importare la classe e usare
nomeOggetto.nomeVariabile

Mi sorprende non funzioni :stordita:

In ogni caso evita variabili di esemplare pubbliche :O Se non final static.

PGI-Bis
05-03-2012, 20:28
Non è necessario importare la classe se si trova nello stesso package. E' giusto dire:

nomeOggetto.nomeCampo

Dove nomeOggetto è il nome del riferimento ad un'istanza della classe.

Ci sono tante ragioni che possono generare errori pur in presenza di un codice sorgente esatto.

La più comune è che in realtà il codice non sia esatto per una sovrapposizione tra nomi (ho la classe pinco.pallo.Vector e importo java.util.Vector);
può essere un semplice refuso sul nome del riferimento o del campo;
se usi un IDE può darsi che la sua cache si sia intortata e che tu stia accedendo ad una versione del file vecchia (un bel clean and build e via).

Se la classe che dichiara il campo è già compilata devi anche considerare la possibilità che la sua posizione rispetto alle radici del classpath non sia corretta dal punto di vista del compilatore (pinco.pallo.Classe non contenuta in un ramo pinco\pallo\Classe.class).

Bestseller
05-03-2012, 20:59
Non so perchè ma ora funziona. Ho risolto scrivendo nomeOggetto.nomeCampo anche senza importare la classe.
Grazie mille! ;)