Minha duvida se refere ao public class Teste, pois ao complicar o codigo, o f2 e o f1 ficam com o mesmo resultado, mesmo eu definindo o f2 com tipo (1), na compilação ele aparece com tipo (0) , igual o f1
public class FuncionarioCopia {
private String nome;
private String cpf;
private double salario;
private int tipo =0; /* 0 = func comum , 1= Gerente, 2= diretor*/
public void setTipo(int tipo){
}
public int getTipo(){
return tipo;
}
public double getBonificacao(){
if (this.tipo==0){
return this.salario*0.10;
} else if (this.tipo==1){
return this.salario;
}else{
return this.salario+1000.0;
}
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
public class Teste { public static void main(String[] args) {
FuncionarioCopia f1 = new FuncionarioCopia();
f1.setSalario(1000.00);
System.out.println(f1.getTipo());
System.out.println(f1.getBonificacao());
FuncionarioCopia f2 = new FuncionarioCopia();
f2.setTipo(1);
f2.setSalario(1000.00);
System.out.println(f2.getTipo());
System.out.println(f2.getBonificacao());
}
}