[RESOLVIDO] Thread repete o valor

Estou iniciando meus estudos sobre threads em java, e estou tentando desenvolver um código que gere números aleatórios, os insira em uma fila utilizando ConcurrentLinkedQueue, e então vá exibindo um por um usando uma thread. Porém, ele gera o primeiro número, o adiciona na fila, e não gera um outro número aleatório, somente repete o primeiro.

And here comes the code:
Classe: ClasseGeradora.java

package projetojava.classes;

import java.util.Random;

public class ClasseGeradora {

	public static void main(String[] args) {

		ClasseDeclaracao classeDeclaracao = new ClasseDeclaracao();
		ClasseRecebedora classeRecebedora = new ClasseRecebedora();
		Random random = new Random();
		
		
			classeRecebedora.start();
		
		
		for(int i=0; i<5; i++) {
			
			classeDeclaracao.setId(random.nextInt(1000));
			classeRecebedora.add(classeDeclaracao);
			
		}
		
		
		
		
	}

}

Classe: ClasseRecebedora.java

package projetojava.classes;

import java.util.Iterator;
import java.util.concurrent.ConcurrentLinkedQueue;

public class ClasseRecebedora extends Thread {

	
	private static ConcurrentLinkedQueue<ClasseDeclaracao> fila = new ConcurrentLinkedQueue<ClasseDeclaracao>();

	
	public static void add(ClasseDeclaracao classeDeclaracao) {

		fila.add(classeDeclaracao);

	}

	@Override
	public void run() {

		System.out.println("FILA IS ONLINE");

		Iterator iteracao = fila.iterator();

		while (iteracao.hasNext()) {

			ClasseDeclaracao processar = (ClasseDeclaracao) iteracao.next();

			System.out.println(processar.getId());

			iteracao.remove();

			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}

		}
		
	}
}

Classe: ClasseDeclaracao

package projetojava.classes;

public class ClasseDeclaracao {

	private int id;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
}

Faltou vc instanciar toda vez a ClasseDeclaracao:

public class ClasseGeradora {

public static void main(String[] args) {

    ClasseDeclaracao classeDeclaracao = new ClasseDeclaracao();
    ClasseRecebedora classeRecebedora = new ClasseRecebedora();
    Random random = new Random();


    classeRecebedora.start();


    for(int i=0; i<5; i++) {
        classeDeclaracao = new ClasseDeclaracao();
        classeDeclaracao.setId(random.nextInt(1000));
        classeRecebedora.add(classeDeclaracao);

    }




}

}

Você está adicionando sempre o mesmo objeto, só está mudando a propriedade id dele.

Foi isso mesmo, instanciei dentro do for e código está rodando sem erros, obrigado pela ajuda!

Era isso mesmo, obrigado pela ajuda!