quando estou compilando esta dando erro, como se eu tivesse usado o abstract de maneira errada,segue meu codigo e o erro.
package fj11;
abstract class Funcionario {
private String nome;
protected double salario;
public void setSalario(double salario) {
this.salario = salario;
}
public abstract double getBonus();
}
class Gerente extends Funcionario {
public double getBonus() {
return this.salario * 0.3;
}
}
class Desenvolvedor extends Funcionario {
public double getBonus() {
return this.salario * 0.25;
}
}
class Totalizadordebonus {
private double total = 0;
public void adiciona(Funcionario f) {
total += f.getBonus();
}
public double getTotal() {
return this.total;
}
}
abstract class Conta {
protected double saldo;
double atualiza;
public double getSaldo() {
return this.saldo;
}
public void deposito(double valor) {
this.saldo += valor;
}
public void saca(double valor) {
this.saldo -= valor;
}
public abstract void atualiza(double taxa);
}
class ContaCorrente extends Conta {
public void atualiza(double taxa) {
this.saldo += this.saldo * (2 * taxa);
}
public void deposito(double valor) {
this.saldo += valor;
}
}
class ContaPoupanca extends Conta {
public void atualiza(double taxa) {
this.saldo += this.saldo * (3 * taxa);
}
public void deposito(double valor) {
this.saldo += valor - 0.10;
}
}
class AtualizaConta {
private double saldototal = 0;
private double selic;
public AtualizaConta(double selic) {
this.selic = selic;
}
public void roda(Conta c) {
System.out.println(c.getSaldo());
c.saldo += c.saldo * selic;
System.out.println(c.getSaldo());
this.saldototal += c.getSaldo();
}
public double getSaldoTotal() {
return this.saldototal;
}
}
class TesteConta {
public static void main(String[] args) {
ContaCorrente silviacc = new ContaCorrente();
ContaPoupanca silviacp = new ContaPoupanca();
silviacc.deposito(1000);
silviacp.deposito(1000);
AtualizaConta selic = new AtualizaConta(0.01);
selic.roda(silviacc);
selic.roda(silviacp);
System.out.println("Saldo total: " + selic.getSaldoTotal());
}
}
class Teste {
public static void main(String[] args) {
Gerente joaquim = new Gerente();
joaquim.setSalario(2000.0);
System.out.println(joaquim.getBonus());
Totalizadordebonus totalizador = new Totalizadordebonus();
totalizador.adiciona(joaquim);
System.out.println(totalizador.getTotal());
}
}
``
erro
Exception in thread "main" java.lang.NoSuchMethodError: fj11.ContaCorrente: method ()V not found at fj11.TesteConta.main(Funcionario.java:113)