Come faccio da una classe a richiamare l'oggetto di un'altra??? Ho un libro che mi spiega come fare ma non funziona!!!
Grazie!!!
Come faccio da una classe a richiamare l'oggetto di un'altra??? Ho un libro che mi spiega come fare ma non funziona!!!
Grazie!!!
Ci provo...e ci riesco!!!
http://kings.altervista.org
Se nell'altra classe l'oggetto è PUBLIC:
//Nella classe chiamante:
...
...
oggetto = altraClasse.nomeOggetto;
...
...
Se invece non puoi accedervi perchè non è PUBLIC, devi cercare nell'altra classe un metodo che restituisca quell'oggetto (mica sempre c'è).
Ciao
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77]elf90 g77
[C++ /WinAPI] DevC++ VisualC++
ma intendi un campo dati?Originariamente inviato da ZIko
Come faccio da una classe a richiamare l'oggetto di un'altra??? Ho un libro che mi spiega come fare ma non funziona!!!
Grazie!!!
bhe innanzitutti deve essere marcato public,poi devi istanziare un oggetto della classe che contiene il campo dati in questione e con questo oggetto accedi al campodati!
un esempio pare utile:
public class A{
public int x;
public static void main(String[] args){
//istanzio un oggetto di tipo A
A oggettoDellaClasseA=new A();
//per accedere a x(campo dati di A)
oggettoDellaClasseA.x=10;
}
}
NB se marcassi x come private IN QUESTO CASO funzionerebbe tutto normalmente,semplicemente xke' il metodo main(luogo in cui viene richiesta la x) appartiene alla stessa classe di x(all'interno della classe i campi dati e i metodi sono tutti "amici")
esempio2:
public class A{
public int x;
}
public class B{
public static void main(String[] args){
A oggettoDellaClasseA=new A();
//per accedere a x(campo dati di A)
oggettoDellaClasseA.x=10;
}
Ora invece cerco di accedere alla x da un'altra classe,quindi x deve essere necessariamente marcata public altrimenti non compila!
ciao
dimenticavo................
un campo dati puo essere anche marcato static
in tal caso non occorre un oggetto di invocazione, ma viene invocato direttamente col nome della classe
esempio
public class A{
public static int x;
}
public class B{
private int z;
public B(){
z=A.x;
}
}
ciao