Warum erhalte ich null als Wert des Arrays? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Warum werden meine Felder auf null oder auf den Standardwert null initialisiert, wenn ich sie im Konstruktor meiner Klasse deklariert und initialisiert habe? 4 Antworten

Ich habe eine Klasse Hra1, die die Regeln eines Spiels definiert (game = hra). Das Problem ist, dass ich einen Nullwert erhalte, z. poleMinci == null, obwohl das Array poleMinci im Konstruktor erstellt wurde. Mit anderen Worten, die Bewegungsmethode des Spielers gibt immer false zurück.

Konstrukteur

public Hra1()
{
    Mince [] poleMinci = new Mince[20];
    poleMinci[0] = new Mince("stříbrná", "coin.png");
    poleMinci[3] = new Mince("stříbrná", "coin.png");
    poleMinci[4] = new Mince("zlatá", "coin_gold.png");
    poleMinci[8] = new Mince("stříbrná", "coin.png");
    poleMinci[10] = new Mince("stříbrná", "coin.png");
    poleMinci[12] = new Mince("stříbrná", "coin.png");
}

ewegungsmethode des @ Spielers:

public boolean tahHrace(Tah tah){
    if (poleMinci != null){
        int odkud = tah.getZPozice();
        int kam = tah.getNaPozici();
        boolean kamPrazdne;
        if (poleMinci [kam] != null) 
            kamPrazdne = false;
            else 
            kamPrazdne = true;

        if (kam > odkud && poleMinci [odkud] != null && kamPrazdne == true){
            poleMinci [kam] = poleMinci [odkud];
            poleMinci [odkud] = null;
            System.out.println("hráč táhl z pozice "+tah.getZPozice()
            + " na pozici "+tah.getNaPozici());
            return true;
        }
        else
             return false;

    }
    else
    return false;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage