Orientação a Objeto, Preciso de um Auxilio

Pessoal. Estou tentando resolver a 1º Apostila da Caelum. Mais tenho algumas dúvidas… Com relação a Orientação a Objeto.

[code]package ExerciciosPg44;
//Classe Principal
/**
*

  • @author fabio
    */
    public class Funcionario {

    String nome;
    String departamento;
    double salario;
    Data dataDeEntrada = new Data();
    String rg;
    boolean atua;

    void bonifica(double valor) {
    double novoSalario = this.salario + valor;
    this.salario = novoSalario;
    }
    void demite() {
    atua = false;
    }
    void mostra(){
    System.out.println(nome);
    System.out.println(departamento);
    System.out.println(salario);
    System.out.println(rg);
    System.out.println(atua);
    }

    void dataDeEntrada(Data data, Data mes,Data ano) {
    System.out.println(data);
    System.out.println(mes);
    System.out.println(ano);
    }
    }[/code]

SubClase DATA

[code]
package ExerciciosPg44;

public class Data {
int dia;
int mes;
int ano;

}[/code]

E a Clase de Teste

[code]
package ExerciciosPg44;

public class TestaFuncionario {
public static void main (String []args){
Funcionario f1 = new Funcionario();
f1.nome = “Fábio”;
f1.salario = 100;
f1.mostra();
f1.dataDeEntrada(26,12,1989);

     Funcionario f2 = new Funcionario();
     f2.nome = "Fábio";
     f2.salario = 100;
     f2.mostra();

     if (f1 == f2){
         System.out.println("Igual");
     }
     else
         System.out.println("Diferente");
}

}[/code]

Em fim. Pessoal não estou conseguindo Exibir na tela a partir da SubClase Data…

Obrigado pela ajuda…

Amigos. Sei que isso é uma dúvida facil de resolver para vocês…
Por favor… se alguém puder me ajudar…

Agradeço.

[code]
package ExerciciosPg44;
//Classe Principal
/**
*

  • @author fabio
    */
    public class Funcionario {

    String nome;
    String departamento;
    double salario;
    Data dataDeEntrada = new Data();
    String rg;
    boolean atua;

    void bonifica(double valor) {
    double novoSalario = this.salario + valor;
    this.salario = novoSalario;
    }
    void demite() {
    atua = false;
    }
    void mostra(){
    System.out.println(nome);
    System.out.println(departamento);
    System.out.println(salario);
    System.out.println(rg);
    System.out.println(atua);
    System.out.println(data);
    }

} [/code]

[code]package ExerciciosPg44;

public class Data {
int dia;
int mes;
int ano;

public Data(int dia, int mes, int ano){
	this.dia = dia;
	this.mes = mes;
	this.ano = ano;
}

    public String toString(){
       return "dia:" + dia + ", mes:" + mes + ", ano:" + ano;
    }

} [/code]

[code]package ExerciciosPg44;

public class TestaFuncionario {
public static void main (String []args){
Funcionario f1 = new Funcionario();
f1.nome = “Fábio”;
f1.salario = 100;
f1.dataDeEntrada = new Data(26,12,1989);
f1.mostra();

     Funcionario f2 = new Funcionario();  
     f2.nome = "Fábio";  
     f2.salario = 100;
     f1.dataDeEntrada = new Data(01,01,1990);  
     f2.mostra();  

     if (f1 == f2){  
         System.out.println("Igual");  
     }  
     else  
         System.out.println("Diferente");  
}  

} [/code]

Olá amigão… Obrigado por responder.
Olha cara… ainda não consegui fazer exibir na tela…

tem um erro bem nessa parte do programa…

Não sei… eu tentei resolver aki… mais não consegui…

[code] System.out.println(rg);

    System.out.println(atua);

// Erro aki no data…
System.out.println(data);
}
[/code]

Consegui… COlega…

Obrigado pela sua ajuda…

O problema estava na Variavel data… Lá em cima .
que dizia… dataDeEntrada;