[duvida] tentando referencia um metodo de outra classe

ae galera, nao estou conseguindo definir a data de entrada do funcionário usando esse metodo
ta imprimindo 0/0/0

eu consegui de outro jeito, mas fui tentar desde jeito, pois achei que daria certo também, mas nao deu
onde está meu erro?

ps: as partes que estão comentadas são referentes ao jeito anterior, q deu certo, entao voces apenas ignorem esses comentarios

public class Employ {
	String name;
	String department;
	String rg;
	Data data = new Data();
	double salario;
	boolean active;

	void bonifica(double num) {
		this.salario = this.salario + num;
		System.out.println(this.name+" got a raise of "+num);
	}

	void demite() {
		System.out.println(this.name+" is FIRED");
		this.active = false;
	}

	void imprime() {
		System.out.println("\n\nEMPLOY NUMBER 144 INFO\n-----------------------\n");
		System.out.println("Name: "+this.name);
		System.out.println("Department: "+this.department);
		System.out.println("RG: "+this.rg);
		System.out.println("Date of entry: "+this.data.defineData(data.dia, data.mes, data.ano));
	//	System.out.println("Date of entry: "+this.data.dia+"/"+this.data.mes+"/"+this.data.ano);
		System.out.println("Salary: "+this.salario);
		System.out.println("Is active? "+this.active);
		System.out.println("\n-----------------------\n");
	}
}

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

	String defineData (int dia, int mes, int ano) {
		return (this.dia+"/"+this.mes+"/"+this.ano);
	}
}

class EmployTest {
	public static void main(String[] args) {
		Employ n144 = new Employ();
		n144.name = "John";
		n144.department = "Finances";
		n144.rg = "15597002";
		n144.data.defineData(3, 1, 1997);
	//	n144.data.dia = 03;
	//	n144.data.mes = 01;
	//	n144.data.ano = 1997;
		n144.salario = 2150;
		n144.active = true;

		n144.imprime();
		n144.demite();
		n144.bonifica(1200);
		n144.imprime();
	}
}

Vc não está setando o valor na variável. E logo depois quer recuperar este valor.

coloque assim q funciona

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

    void defineData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    String exibeData () {  
        return (this.dia+"/"+this.mes+"/"+this.ano);  
    }
}

E no método imprime

void imprime() {  
    System.out.println("\n\nEMPLOY NUMBER 144 INFO\n-----------------------\n");  
    System.out.println("Name: "+this.name);  
    System.out.println("Department: "+this.department);  
    System.out.println("RG: "+this.rg);  
    System.out.println("Date of entry: "+this.data.exibeData());  // <------- aqui está a mudança
    System.out.println("Salary: "+this.salario);  
    System.out.println("Is active? "+this.active);  
    System.out.println("\n-----------------------\n");  
}  

Entendeu mais ou menos o conceito ??