View Full Version : JAVA e classi
fabio1883
05-06-2008, 14:51
Ciao a tutti!
nel main istanzio una nuova classe in questo modo:
pippo pip = new pippo();
Nella classe pippo come faccio ad invocare i metodi della classe con il main (il main è la classe che ha istanziato la nuova classe pippo)
GRAZIE
khelidan1980
05-06-2008, 14:53
i metodi li devi invocare sull'oggetto non nella classe....
pip.metodo();
fabio1883
05-06-2008, 14:55
Sì, ok... Forse mi sono spiegato male...
pip.metodo va bene se sono nella classe con il main
Se sono nella nuova classe creata pip come faccio ad utilizzare altri metodi presenti nella classe del main?
khelidan1980
05-06-2008, 15:04
Sì, ok... Forse mi sono spiegato male...
pip.metodo va bene se sono nella classe con il main
Se sono nella nuova classe creata pip come faccio ad utilizzare altri metodi presenti nella classe del main?
cosa vuol dire altri metodi presenti nel main?metodi di altre classi?
fabio1883
05-06-2008, 15:05
cosa vuol dire altri metodi presenti nel main?metodi di altre classi?
Non c'è scritto metodi presenti nel main....
METODI PRESENTI NELLA STESSA CLASSE DEL MAIN
khelidan1980
05-06-2008, 15:07
Non c'è scritto metodi presenti nel main....
METODI PRESENTI NELLA STESSA CLASSE DEL MAIN
ragazzo abbassa i toni e spiegati meglio
fabio1883
05-06-2008, 15:10
ragazzo abbassa i toni e spiegati meglio
NON voleva per niente essere offensivo il mio messaggio...
Ho solo sottolineato una cosa che avevo già scritto...
Bando alle polemiche... Ora hai capito ciò che volevo dire?
khelidan1980
05-06-2008, 15:12
NON voleva per niente essere offensivo il mio messaggio...
Ho solo sottolineato una cosa che avevo già scritto...
Bando alle polemiche... Ora hai capito ciò che volevo dire?
il fatto e che non si riesce a capire che intendi con "la stessa classe del main" fai un esempio
Sì, ok... Forse mi sono spiegato male...
pip.metodo va bene se sono nella classe con il main
Se sono nella nuova classe creata pip come faccio ad utilizzare altri metodi presenti nella classe del main?
Non esiste nessuna classe pip, pip è un'ISTANZA della classe pippo, ossia un oggetto.
Se stai agendo su pip, significa che sei all'interno di un metodo di un'altra classe (eventualmente nel main).
Provo a dire la mia: forse intendi dire come faccio a utilizzare l'oggetto pip istanziato nel metodo main all'interno degli altri metodi che appartengono alla stessa classe che contiene il metodo main?
fabio1883
05-06-2008, 15:18
public class MainClass {
public static void main(String[] args) {
....
pippo pip = new pippo();
}
public void calcolan(){...}
}
public class Pippo(){
//qui devo richiamare il metodo "calcolan()" presente nella MainClass che ha istanziato pip
}
spero di essere stato chiaro ora
GRAZIE
magix2003
05-06-2008, 15:26
Se il metodo è statico chiami semplicemente MainClass.calcolaLan(), altrimenti devi avere un istanza della classe attraverso la quale chiamare il metodo.
MainClass aClass = new MainClass();
aClass.calcolaLan();
banryu79
05-06-2008, 15:41
Qui ci sono due errori, corretti così:
public class MainClass {
public static void main(String[] args) {
....
Pippo pip = new Pippo();
}
public void calcolan(){...}
}
dato che la classe si chiama Pippo, non pippo.
Nota che per avere un riferimento della classe MainClass nella classe Pippo, potresti per esempio passare a quest'ultima una reference a MainClass con la parola-chiave this come parametro nel suo costruttore; purtroppo però all'interno del metodo statico in cui istanzi un oggetto di tipo Pippo non puoi usare this perchè appunto il metodo è statico.
L'alternativa è rendere statico anche il metodo calcolan() di MainClass e invocarlo nella classe Pippo oppure istanziare un oggetto MainClass direttamente dentro Pippo come ha già spiegato magix2003.
Ovviamente tutto questo partendo dal principio che sia corretta l'appartenenza di calcolan alla tua "MainClass".
calcolan opera su membri della classe Pippo? calcola un nuovo valore sulla base dei valori membri di Pippo?
A seconda dei casi potrebbe essere corretto rendere calcolan funzione membro della classe Pippo oppure richiamare calcolan(pip) all'interno del main (probabilmente in questo caso vorrai far ritornare un valore a calcolan).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.