Oi pessoal é minha primeira vez postando aqui no forum, se eu errar qualquer coisa me avisem para poder ajeitar.
Eu estou estudando Java no livro Use a Cabeça e fiquei enrrolado em uma questão chamada:
“Uma pilha de problemas”
Ela cria um inteiro id atribuido de valor 0 e mais adiante é chamada como referência.
class HeapQuiz {
int id = 0;
public static void main(String [] args) {
int x = 0;
HeapQuiz [] hq = new HeapQuiz[5];
while (x < 3) {
hq[x] = new HeapQuiz();
hq[x].id = x;
x = x + 1;
}
hq[3] = hq[1];
hq[4] = hq[1];
hq[3] = null;
hq[4] = hq[];
hq[0] = hq[3];
hq[3] = hq[2];
hq[2] = hq[0];
// executa algo
}
}
Esse é o código da questão.
A resposta será os valores das variaveis de referência com os seus respectivos objetos.
hq[0] id = 0
hq[1]
hq[2] id = 1
hq[3]
hq[4] id = 2
Eu não entendo a parte do hq[x].id = 0; e não entendo porque o id muda de valor 
Ficarei grato com qualquer resposta!
