Oi pessoal tudo bem?
Só estou passando aqui para mostrar que eu fiz a "manipulação de datas" de um jeito diferente. Ao invés de colocar o método da data dentro de uma outra classe, eu a fiz dentro da própria classe "class Funcionario". Me pareceu menos verboso e mais fácil de entender, pois assim, você não precisaria olhar dentro de outras classes e/ou precisar entender que uma classe está dentro de outra, etc.
class Funcionario{
String nome;
String departamento;
double salario;
int dia;
int mes;
int ano;
String rg;
void recebeAumento(double valor){
this.salario += valor;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void preencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento " + this.departamento);
System.out.println("Salário atual: " + this.salario);
System.out.println("Data de entrada: " + this.dia + "/" + this.mes + "/" + this.ano);
System.out.println("RG: " + this.rg);
System.out.println("Ganho anual " + this.calculaGanhoAnual());
}
}
class TestaFuncionario {
public static void main(String[]args){
Funcionario f1 = new Funcionario();
f1.nome = "Hugo";
f1.departamento = "Programação";
f1.salario = 100;
f1.preencheData(11,12,2017);
f1.rg = "MG-123456789";
f1.recebeAumento(50);
f1.mostra();
}
}