Estou com dificuldade para entender o que acontece nessa classe que estou resolvendo da aula 5 (Modificadores). Compilo a classe normalmente, porém, quando da visualização do método, onde era para imprimir o nome do funcionário, imprime o RG dele, e no RG sai null. O que estou fazendo de errado? Segue abaixo os códigos para análise:
public class Funcionario {
private Data dataEntrada;
private String nome, rg, depto;
private double salario;
public void setNome(String nome){
this.nome = nome;
}
public void setDepto(String depto){
this.depto = depto;
}
public void setSalario(double salario){
this.salario = salario;
}
public void setRg(String rg){
this.nome = rg;
}
public String getNome(){
return this.nome;
}
public String getDepto(){
return this.depto;
}
public double getSalario(){
return this.salario;
}
/* public String getData(){
return this.dataEntrada.getFormatada();
} */
public String getRg(){
return this.rg;
}
void recebeAumento(double porcento) {
double aumento;
aumento = this.salario * (porcento/100);
this.salario += (this.salario * porcento/100);
System.out.println(" ");
System.out.println("O valor do aumento e R$ " + aumento);
System.out.println("O valor do novo salario e R$ " + this.salario);
System.out.println(" ");
}
void calculaGanhoAnual() {
double salarioAnual;
salarioAnual = this.salario * 12;
System.out.println(" ");
System.out.println("O valor do salario anual e R$ " + salarioAnual);
System.out.println(" ");
}
void mostra() {
System.out.println("O nome do funcionario: " + this.nome);
System.out.println("Departamento: " + this.depto);
System.out.println("RG: "+ this.rg);
System.out.println("Data de entrada: " + this.getDataEntrada().getDia() + "/"
+ this.getDataEntrada().getMes() + "/" + this.getDataEntrada().getAno());
System.out.println("Salario atual: " + this.salario);
System.out.println(" ");
}
public Data getDataEntrada() {
return this.dataEntrada;
}
public void setDataEntrada(Data dta) {
// TODO Auto-generated method stub
this.dataEntrada = dta;
}
}
public class Data {
private int dia, mes, ano = 0;
public void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String getDataFormatada(int dia, int mes, int ano) {
return this.dia + "/" + this.mes + "/" + this.ano;
}
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getMes() {
return mes;
}
public void setMes(int mes) {
this.mes = mes;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
}
public class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
Data dta = new Data();
dta.preencheData(15, 8, 2012);
f1.setNome("João");
f1.setDepto("Cobrança");
f1.setRg("99.897.569");
f1.setSalario(1300);
f1.setDataEntrada(dta);
f1.mostra();
}
}
Grato pela ajuda.