Existem duas formas de fazer isso, a primeira forma é basicamente você instanciar o array diretamente no objeto funcionarios
da classe Empresa
public class Empresa {
public Funcionario[] funcionarios = new Funcionario[10];
}
Nesse momento, todas as vezes que você instânciar uma empresa, você vai criar um array de funcionários com 10 posições para o objeto.
Agora a questão de criar todos os funcionários utilizando a instrução de repetição for, como nesse exemplo:
for (int i = 0; i < 10; i++) {
Funcionario f = new Funcionario();
f.salario = 1000 + i * 100;
funcionarios[i] = f;
}
Só da pra fazer utilizando os construtores das classes (que no caso é a segunda forma de resolver também a primeira dúvida), que é visto na aula de construtores, segue o link para mais detalhes https://cursos.alura.com.br/course/primeiros-passos-com-java/section/6.
Caso ainda ficar com dúvida sobre como fazer isso com construtores, é só avisar ;)
Prefiro que você veja primeiro na aula, pois dessa forma, você vai compreender melhor.