Почему я получаю значение NULL в качестве значения массива? [Дубликат]
На этот вопрос уже есть ответ:
Почему мои поля инициализируются нулем или значением по умолчанию, равным нулю, когда я объявил и инициализировал их в конструкторе моего класса? 4 ответаУ меня есть класс Hra1, который определяет правила игры (game = hra). Проблема в том, что я получаю нулевое значение, например poleMinci == null, несмотря на то, что массив poleMinci создается в конструкторе. Другими словами, метод перемещения игрока всегда возвращает false.
конструктор
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");
}
метод перемещения игрока:
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;
}