public class Data2 {
private int dia;
private int mes;
private int ano;
public void setPreencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String getFormatada(){
return this.dia+"/"+this.mes+"/"+this.ano;
}
}
public class Funcionario2 {
private String nome;
private double salario;
private Data2 dataEntrada;
private String registro;
//Getters and Setters
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
public double getSalario(){
return this.salario;
}
public void setSalario(double salario){
this.salario = salario;
}
public Data2 getDataEntrada(){
return this.dataEntrada;
}
public void setDataEntrada(Data2 dataEntrada){
this.dataEntrada = dataEntrada;
}
public String getRegistro(){
return this.registro;
}
public void setRegistro(String registro){
this.registro = registro;
}
public void recebeAumento(double valorAdicional){
this.salario += valorAdicional;
}
public double calculaGanhoAnual() {
return this.salario * 12;
}
public void mostra(){
System.out.println("Nome do funcionario : " + this.getNome() +
"\nSalario do funcionario : " + this.getSalario() +
"\nRegistro de funcionario : " + this.getRegistro() +
"\nGanho anual do funcionario : " + this.calculaGanhoAnual());
System.out.println("Data de entrada : " + this.dataEntrada.getFormatada()+"\n\n");
//Metodo void mostra() mostra a data de entrada que foi formatada dentro do metodo String getFormatada()
}
}
public class TesteFuncionario2 {
public static void main (String [] args){
Funcionario2 registro_1 = new Funcionario2();
registro_1.dataEntrada = new Data2();
registro_1.setNome("Hugo");
registro_1.setRegistro("6444296266");
registro_1.setSalario(1100);
registro_1.stDataEntrada.setPreencheData(8,9,2015);
//System.out.println("O primeiro funcionario chamado "+registro_1.nome+" e contem o salario de R$ "+ registro_1.salario);
/*registro_1.recebeAumento(500);
System.out.println("\nHugo recebeu um aumento de R$ 500");
*/
registro_1.mostra();
Funcionario2 registro_2 = new Funcionario2();
registro_2.dataEntrada = new Data2();
registro_2.setNome("Thata");
registro_2.setRegistro("123456789");
registro_2.setSalario(700);
registro_2.setDataEntrada.setPreencheData(13,7,1993);
registro_2.mostra();
/*Funcionario registro_3 = new Funcionario();
registro_3 = registro_1;
if (registro_1 == registro_3) {
System.out.println("iguais");
} else {
System.out.println("diferentes");
}
*/
}
}
Na classe TesteFuncioario2, No eclipse a linha abaixo:
registro_1.dataEntrada = new Data2();
está gerando o seguinte erro:
The field Funcionario2.dataEntrada is not visible
e também a seguinte linha:
registro_1.setDataEntrada.setPreencheData(8,9,2015);
está gerando o seguinte erro:
setDataEntrada cannot be resolved or is not a field
Gostaria de entender porque a variável de instância dataEntrada da erro, e também não estou setando a data corretamente, não estou entendendo porque consegui setar os outros atributos e com a data deu errado. Li no forum os outros problemas com a data dos colegas, mas eu não consegui entender porque da erro na data.
Poderiam me ajudar a entender esse processo referente a data?
Obrigado.