W jeden z książek, z której uczę się Java jest następujący kod:

public class Mix4 {
int licznik = 0; //1. deklaracja i inicjalizacja składowej

public static void main(String[] args) {
int ilosc = 0; // 6.deklaracja i incjalizacji zmiennej lokalnej
Mix4[] m4a = new Mix4[20]; // 7.utworzenie obiekut tablicy
int x = 0; // 8. deklaracja i inicjalizacja zmiennej które jest ideksem w tabicy
while (x<9){ //9. wartość true
m4a[x] = new Mix4(); //10. stworzenie obiektu o indeksie zero
m4a[x].licznik = m4a[x].licznik + 1; i tutaj zaczyna się problem ze zrozumieniem.
ilosc = ilosc + 1;
ilosc = ilosc + m4a[x].mozeNowa(x);
x = x + 1;
}
System.out.println(ilosc + " " + m4a[1].licznik);
}

public int mozeNowa(int indeks) { //2. Przekopiowanie wartości składowej do parametu
if (indeks <5){ //3. Spełnienie warunku
Mix4 m4 = new Mix4(); //4. Utoworzeni obiektu
m4.licznik = m4.licznik + 1; // 5. wywołanie wartości składowej przez obiekt + 1 zwraca 1
return 1; do m4. licznik
}
return 0;
}
}

Ten kod zwraca w lini poleceń ten wynik 14 1.
Proszę od dokładne wyjaśnienie