Não consegui entender muito bem a parte "e uma referência a uma array de Funcionario"achei meio confuso, é normal ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não consegui entender muito bem a parte "e uma referência a uma array de Funcionario"achei meio confuso, é normal ?
Olá Taina, é normal ter essas dúvidas no começo sim, fique tranquila. No caso do exercício é só para adicionar um um array de funcionários (Funcionario[] funcionarios) e outros atributos:
class Empresa {
String nome;
String cnpj;
Funcionario[] funcionarios;
// outros atributos...
}
Taina, no exercício é pedido que você crie um Array de funcionários, ou seja, um array do tipo funcionários:
Funcionario[] funcionarios;
Repate que definimos o tipo do array restritamente para objetos do tipo funcionario:
funcionarios[1] = new Funcionario();
Funcionario f1 = new Funcionario();
funcionarios[2] = f1;
Também podemos ter array de String, Integer, Double, Boolean e por ai vai...
Espero ter ajudado
mas por que não só deixamos assim:
Funcionario[] ?
e sim temos que colocar Funcionario[] funcionarios; ?
por exemplo, na linguagem c declaramos assim:
int numeros[5] = {10, 20, 30, 40, 50};
Taina precisamos declarar funcionarios pois é o nome da nossa variável(atributo):
Funcionario[]
Se fizermos somente no exemplo acima o java não irá compilar pois definimos apenas um array de Funcionario porém não demos nome ao mesmo para que possamos utilizado, então devemos após definir o tipo da váriavel informar o seu nome:
Funcionario[] funcionarios
Agora em qualquer parte de código que chamarmos funcionarios estamos chamando a variável com referência a esse array, o mesmo vale para qualquer variável ou atributo em java, sempre definimos o tipo seguidamente pelo seu nome:
// variáveis
int idade = 0;
String nome = null;
boolean maiorDeIdade = true;
double total = 0.0;
// atributos
private Integer idade;
private String nome
private Boolean maiorDeIdade
private Double total;
Espero ter ajudado
Só para finalizar pegando seu exemplo em C:
int numeros[5] = {10, 20, 30, 40, 50};
No java ficaria
int[] numeros = {10, 20, 30, 40, 50};
Caso queira definir uma quantidade de elementos do nosso array:
int[] numeros = new int[5];
Repare que em ambas linguagens estamos dando um nome ao nosso array que no caso é numeros.
não esqueça de marcar o tópico como concluído caso suas dúvidas foram solucionadas, s2