mercredi 6 mai 2015

Threads

package a ;

Klasse Eins{
Attribute
.
.
.
.
.

Methoden
..

innere Klasse Zwei extends Threads{
....
public void run(){
hier werden Attribute und Methoden der äußeren Klasse verwendet .
}
}

}



In einer anderen Klasse, eines anderen Packets , in der Thread erzeugt und ausgeführt wird.

package b;
class Frame extends JFrame{

public static void main(String[] args){
Frame f1 = new Frame();
a.Eins obj = new a.Eins();
a.Eins.Zwei thread = obj.new Zwei();
thread.start();
}

}

Und nun zum Problem :
Wenn ich in der run-Methode von Klasse Zwei auf Methoden aus Klasse Eins zugreife, bekomme ich für einige Zeilen NullPointerExceptions ausgerufen . Wenn ich den thread "thread" nicht starte , bekomme ich auch keine Fehlermeldungen.
Kann es sein , dass der Thread auf Methoden aus Klasse Eins zugreift , die auf Attribute zugreifen müssen , die noch nicht initialisiert wurden , da der "thread" seine Ausführungen vor der vollständigen Initialisierung der Attribute für Klasse Eins durchführt ?


Threads

0 commentaires:

Enregistrer un commentaire