Dúvidas Array 5.5 apostila

Continuando a discussão do Exercicio sobre Array 5.5 apostila caelum [RESOLVIDO]:

Boa noite pessoal, sou iniciante e fiquei com algumas dúvidas a respeito do código que o ViniGodoy postou.
A primeira é: Seria possível utilizar enhanced-for, (acho que é assim que é chamado) no método mostrafuncionário??
Segunda :No segundo adiciona onde o cont é incrementado ele não precisa ser declarado?e na próxima vez que o método for chamado ele já vem com o novo valor, como ele vai lembrar ?e lista seria oque???

Valew galera, e desculpa caso eu esteja fazendo alguma pergunta boba.

Sim, pode usar o enchanced for, mas vai ter que controlar o contador manualmente. Ficaria assim:

void mostraEmpregados() {
    int i = 0;        
    for (Funcionario funcionario : this.empregados) {
        if (funcionario != null) {
            System.out.println("O empregado na posicação " + i);
            System.out.println("Salario do empregado: " + empregados[i].salario);
        }
        i++;
    }
}

Nesse exemplo o cont precisa ser declarado como atributo da classe. Desse modo, o valor dele será “lembrado” para o objeto da classe poderá ser acessado em qualquer método.
A lista que ele usou no exemplo acredito que seria equivalente a empregados. Ele mudou o nome para ajudar a ilustrar a alternativa que ele propôs. No entanto, ele acabou esquecendo de mudar também o empregados:

void adiciona(Funcionario f) {
   if (count < lista.length) {
      empregados[cont] = f;
      cont++;    
   }
}

Valew pelos esclarecimentos Guilherme, foi bastante útil.

Boa semana.