public void getBonificacao(){
return this.salario * 0.10;
}
Gerente gerente = new Gerente();
System.out.println(gerente.getBonificação());
public void getBonificacao(){
return this.salario * 0.10;
}
Gerente gerente = new Gerente();
System.out.println(gerente.getBonificação());
O metodo
public void getBonificacao(){
return this.salario * 0.10;
}
esta incorreto. Voce nao pode retornar valores quando o tipo eh “void”. Mas de qualquer maneira, vamos considerar que isso foi um erro de digitacao na hora de colocar no forum.
Coloque aqui essas duas classes, para que possamos verificar a sintaxe.
Rafael
Tem que ter certeza de que vc sobrepôs o método corretamente.
Se vc usou uma lista diferente de argumentos, então você está sobrecarregando o método na classe filha, o que ainda faz com que ela herde o método original da classe pai.
Realmente o metodo getBonificação foi digitado errado em vez de void é double.
A lista de argumento é a mesma para as duas classes e estão declaradas na classe Funcionario e é através do obj. Gerente criado.
Gerente gerente = new Gerente();
Que chamo o metodo getBonificacao.
System.out.println(gerente.getBonificacao());
Mas analisando meu codigo novamente percebi que tinha erro na reescrita do método.
O da classe Funcionario estava assim:
public double getBonificacao(){
return this.salario * 0.10;
}
O da classe Gerente extends Funcionario estava assim:
public double Bonificacao(){
return this.salario * 0.15;
}
Feito a correção, obitive o resultado esperado:
Agradeço muito a atenção que vcs me deram e percebi que ao programar temos que prestar muita atenção para não cometer esse tipo erro que considero um erro grave de falta de atenção até mais…
Muito Obrido…