Como exibir 2 Objetos Graphics de classes diferentes na tela do programa?

No paint da Cobra:

// desenha a cabeça da cobra
Ellipse2D circle = new Ellipse2D.Double(x, y, 25, 25);
g2d.setColor(cor);
g2d.fill(circle);

// desenha o corpo
for (int i = 0; i < unidadesDoCorpo.size(); i++) {
    unidadesDoCorpo.get(i).paintComponent(g2d);
}

Não existe 2 graphics. O objeto Graphics que é passado como parâmetro para todos os componentes que precisam se pintar é o mesmo. Apenas 1 objeto.

eu fiz oque me passou e a cobra nao ta crescendo xD
os pontos estao aparecendo a comida se reposiciona mas a cobra nao cresce ainda =(

sim eu aprendi isso com o nosso amigo diego12 =)

Consegue verificar se não está crescendo ou se não está aparecendo?

coloque no final do método crescer:

System.out.println("Tamanho: " + unidadesDoCorpo.size());

Como está o código completo atualmente?

gente eu estou viajando e tive que parar o projeto, se puderem esperar um pouco assim q voltar de viagem eu mando os arquivos para analise.

diego12 eu tinha notado que ao comer aparecia um quadrado branco e logo sumia, e se eu continuava comendo chegava uma hora que o quadradinho ficava mais tempo aparecendo e logo sumia tbm
entao acredito q ele apenas nao esteja sendo desenhado nao deve ser nada d+ talvez tenha colocado o metodo de desenho no lugar errado sei la
assim q voltar de viagem eu mando tudo

hasta luego