public class Funcionario {
    private String nome;
    private String cpf;
    private double salario;
    public double getBonificacao() {
        return this.salario * 0.05;
    }
    // omitido...
    public void sepublic class Gerente extends Funcionario {
private int senha;
public boolean Autentica(int senha) {
    if(this.senha == senha) {
        return true;
    } else {
        return false;
    }
}
public void setSenha(int senha) {
    this.senha = senha;
}
public double Bonificacao() {
    return super.getBonificacao() + super.getSalario();
}}
// Teste 
public class TesteGerente {
    public static void main(String[] args) {
        Gerente g1 = new Gerente();
        g1.setNome("Marco Polo");
        g1.setCpf("123456");
        g1.setSalario(5000.00);
        System.out.println(g1.getNome());
        System.out.println(g1.getCpf());
        System.out.println(g1.getSalario());
        g1.setSenha(222);
        boolean autenticou = g1.Autentica(222);
        System.out.println(autenticou);
        System.out.println(g1.getBonificacao());
    }
}
Quando coloco para compilar no final sai apenas a bonificação do funcionario, quando na verdade era pra sair do gerente.
Marco Polo
123456
5000.0
true
250.0
não era para sair 250.0 e sim 525000`
 
            