Leonardo, faça assim:
public 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;
}
public String imprime() {
return dia +"/" + mes + "/" + ano;
}
}
public class Funcionario {
..
..
Data dataDeentrada;
..
..
public void mostra() {
..
..
System.out.println("Data de entrada: " + dataDeentrada.imprime());
}
}
Dessa forma, vc cria um método imprime()
dentro da classe Data
que será responsável por retornar uma String
com o dia, mês e ano da data. E, sempre que vc precisar mostrar a data, basta chamar esse método criado.
EXTRA - informações mais avançadas:
Quando vc executa o comando System.out.println(dataDeentrada)
o Java sempre irá pedir ao objeto informado (nesse caso, o objeto dataDeentrada
) para ele executar o método toString()
que o Caio te mostrou. Todo objeto em Java tem esse método dentro dele (o motivo disso vc verá mais pra frente nos cursos de Java) e é o método que indica como o seu objeto deve ser representado em forma de String
. Por padrão, o resultado do toString()
é algo como nomeDaClasse@numero
, por isso que quando vc tentou imprimir a data fazendo System.out.println(dataDeentrada)
o resultado foi algo parecido com:
br.com.caelum.Data@123145
Daí, para mudar o comportamento padrão do toString()
, basta vc implementar ele dentro da sua classe Data
, da forma como o Caio te mostrou.
Ficou alguma dúvida?
Grande abraço!