Es ist keine umschließende Instanz des Typs fbMain verfügbar. Muss die Zuordnung mit einer umschließenden Instanz vom Typ fbMain qualifizieren

8

In meiner Klasse, die als " public class pcb " deklariert ist, habe ich den folgenden Konstruktor: public pcb (int p, int a, int b).

In public static void main (String [] args) Ich versuche, den Konstruktor in einer for-Schleife aufzurufen, wo ich eine "pcb" an einer anderen Stelle in einem Array hinzufüge. Hier ist die for-Schleife, wo die letzte Zeile ist, wo ich den Fehler bekomme:

%Vor%

Was mache ich falsch? Ist es Syntax oder ist es die Struktur meines Programms? Ich habe Java nicht so oft benutzt und ich denke, das ist mein Hauptproblem.

    
user7478 06.03.2012, 21:14
quelle

2 Antworten

15

Sie haben nicht den gesamten relevanten Code angegeben, aber der Fehler zeigt an, dass pcb eine innere Klasse von fbMain ist:

%Vor%

Sie können diesen Fehler beheben, indem Sie pcb statisch machen:

%Vor%

Oder indem Sie die Klasse in eine eigene Datei verschieben. Oder, wenn pcb nicht statisch sein kann (weil es einer Instanz von fbMain zugeordnet ist), können Sie eine neue pcb erstellen, indem Sie eine Instanz von fbMain :

übergeben %Vor%

Es ist wahrscheinlich das erste, was Sie wollen. Bitte beachten Sie auch, dass Java-Typnamen standardmäßig mit einem Großbuchstaben beginnen.

    
Mark Peters 06.03.2012, 21:17
quelle
3

Fügen Sie static zu Ihrer Klassendeklaration wie folgt hinzu

%Vor%     
Guillaume Polet 06.03.2012 21:17
quelle

Tags und Links