So bearbeiten Sie ein Array aus einer anderen Klasse in Java [duplizieren]

8

Ich habe ein 2d Array erstellt (als Spielbrett) und in einer anderen Klasse möchte ich mein Array nehmen und Operationen darauf ausführen können.

Meine Array-Definition (in der Klasse PlayingBoard ):

%Vor%

Nun möchte ich dieses Array von anderen Klassen in meinem Projekt manipulieren. Ich habe versucht, dieses Gitter in der Klasse aufzurufen, die in

nicht definiert wurde %Vor%

Ich bekomme den Fehler:

  

Die nicht statische Variable myGrid kann nicht vom statischen Kontext aus referenziert werden

Wie kann ich myGrid von dieser zweiten Klasse referenzieren, bearbeiten und bearbeiten?

    
Stormie 02.12.2013, 17:34
quelle

2 Antworten

6

Sie müssen eines der beiden Dinge ändern:

  1. deklarieren Sie myGrid als statisch

    %Vor%
  2. Zugriff myGrid über eine Objektinstanz:

    %Vor%
twester 20.08.2014, 12:41
quelle
1

Die Antworten deuten auf die Verwendung eines statischen Arrays hin, und das macht mich von einem OO-Standpunkt aus traurig.

Wie wäre es sicherzustellen, dass Ihr Spielbrett mit einer "addPiece" -Methode eine ordnungsgemäß gekapselte Struktur hat?

%Vor%

Selbst wenn Ihre Teile selbst "intelligent" sind, sollten Sie ein Objekt erstellen, das sie umschließt, anstatt nur ein Zeichen zu speichern.

%Vor%

Außerdem verwenden Sie 12 in der Schleife, aber 8 in der Initialisierung, also erwarten Sie eine IndexOutOfBounds Ausnahme.

    
Jeff Watkins 20.08.2014 12:48
quelle

Tags und Links