PDA

Visualizza la versione completa : [JAVA] Errore chiamata funzione tra classi


perzem
21-11-2005, 19:39
ho creato questo metodo con dentro una query e funziona correttamente nella classe OnStageApp.java dove è stato dichiarato. Questa classe ha una propria configurazione di runtime e viene lanciata


public Vector VisEdition(){
System.out.println("csdsgsd");
edition=eseguiQuery( "SELECT ID FROM COURSEEDITION;" );
return edition;}

poi ho una application (FrameAggDb.java) dove richiamo il metodo sopra in questo modo


OnStageApp osa;
public Vector VisEdition(){
edition=osa.VisEdition(); //qui sta lerrore
return edition;}

ma se lancio l'application mi da questo errore, perche??


java.lang.NullPointerException
at onstage.gui.FrameAggDb.VisEdition(FrameAggDb.java: 282)
at onstage.gui.FrameAggDb.caricaEl(FrameAggDb.java:28 6)
at onstage.gui.FrameAggDb.<init>(FrameAggDb.java:75)
at onstage.gui.AppAggDb.<init>(AppAggDb.java:11)
at onstage.gui.AppAggDb.main(AppAggDb.java:41)

floyd
21-11-2005, 20:05
devi istanziare l'oggetto
OnStageApp osa;
public Vector VisEdition() {
osa = new OnStageApp();
edition = osa.VisEdition();
return edition;
}

murder eyes
25-11-2005, 02:11
Proprio perche' viene lanciata l'eccezione NullPointerException dovresti capire che stai utilizzando un oggetto che è null(cioè non è stato instanziato). come dovresti sapere gli oggetti si allocano con la new e quindi il codice dove hai l'errore diventa:


OnStageApp osa;
public Vector VisEdition()
{
osa=new OnStageApp();//costruttore che hai definito te con o senza argomenti
edition=osa.VisEdition(); //qui sta lerrore
return edition;
}

perzem
25-11-2005, 10:32
alla fine ho risolto creando un altro costruttore nella classe OnStageApp con i metodi che mi servivano... lo so che devo istanziare l'oggetto ma non potevo farlo perche la classe OnStageApp contiene i metodi che lanciano la mia applicazione e non potevo averne istanziate 2 contemporaneamente. Quindi avevo pensato che richiamandola solo così si collegasse a quella già istanziata, ma mi sbagliavo...
Aloa

Loading