LocalDate hoje = LocalDate.now();
DataEntrada dataEntrada = new DataEntrada();
dataEntrada.dataAtual(hoje);
Funcionario funcionario = new Funcionario();
funcionario.setNome("Alisson");
funcionario.setSalario(new BigDecimal(3000.00));
funcionario.setDataEntrada(dataEntrada);
funcionario.mostra();
Aqui instanciei uma data, como podem ver, e aqui.
Funcionario funcionario2 = funcionario;
funcionario2.setNome("Alisson");
funcionario2.setSalario(new BigDecimal(3000.00));
DataEntrada entrada = funcionario2.getDataEntrada(); // Qual a diferença?
entrada.dataEntrada(10, 07, 1992);
funcionario2.setDataEntrada(entrada);
funcionario2.mostra();
E um exemplo eu dei new na classe para usar a variavel, e no outro apenas naveguei usando orientação objeto e depois peguei a variavel e setei no meu funcionario2