Oi Tadeu,
O f1 é um Funcionario, isso pode ser visto um pouco mais acima no código
Funcionario f1 = new Funcionario();
Acho que isso não é o problema, certo? Mas para entender o código que vem mais abaixo você tem que entender o que há na classe funcionario:
class Funcionario {
    String nome;
    double salario;
    public Data dataDeEntrada;
    .
    .
    .
}
e você notar bem a classe Funcionario tem um atributo chamado dataDeEntrada e ele é do tipo Data, que por sua vez é da seguinte forma:
class Data {
    int dia;
    int mes;
    int ano;
   public void preencheData(int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
}
Quando você faz f1.dataDeEntrada você está acessando o atributo dataDeEntrada da classe Funcionario, como o atributo dataDeEntrada é do tipo Data e essa classe tem o método preencheData então você pode fazer o comando:
f1.dataDeEntrada.preencheData(1, 7, 2009);
Isso vai depender das permissões que você dá para o método, mas isso é algo que você verá mais para a frente no curso.