Olá pessoal! Não entendi o seguinte trecho de código do Exercício 2 da Aula 04:
class Empresa {
String nome;
String cnpj;
Funcionario[] funcionarios;
int livre = 0;
void guardaFuncionario(Funcionario f) {
this.funcionarios[this.livre] = f;
this.livre++;
}
}
Seguinte, ao meu ver, estou criando uma classe Empresa que tem alguns atributos, entre eles, um array de Funcionario (que está referenciando à minha classe chamada Funcionario que tem como atributo, nome, rg, etc.) e uma variável chamada livre (que será o contador de posições do meu array).
Já no método guardaFuncionario(), estou recebendo um parâmetro do tipo Funcionario e a variável que irá armazenar o valor passado para o método tem como nome a letra "f".
Até ai, maravilha (pelo menos acho que entendi), porém, não entendi esse pequeno trecho: this.funcionarios[this.livre] = f;
Porque o "this.livre" está entre colchetes? E o que esse trecho está fazendo?
Após isso, sei que a variável chamada "livre" será acumulada de um em um.