Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 2 da Aula 4 - Interfaces

Erro

//CLASSE_ABSTRATA

abstract public class ContaCorrente extends Conta {

    public void deposita(double valor) {
        this.saldo += valor;
    }

    public double calculaTributos() {
        return this.getSaldo() * 0.01;
    }

}
//TESTA

public class TestaTributavel {

    public static void main(String[] args) {

         ContaCorrente cc = new ContaCorrente();
         cc.deposita(100);
         System.out.println(cc.calculaTributos());
    }

}
4 respostas

Oi Amilton, tudo bem?

A classe ContaCorrente é abstrata. Classes abstratas você não pode dar new.

Uma dica: Quando for colocar código, tente formatá-lo com o Markdown para facilitar a legibilidade .

Ok?

Forte abraço!

solução!

Amigo, só complementando a resposta do nosso amigo colaborador Leonardo, quando você tem uma classe do tipo abstract você não pode instanciar ela diretamente como o Leonardo informou.

Veja bem: Nesse caso seria mais ideal que uma Classe Conta seja abstract, porquê quando você for instanciar (criar) o objeto você não pode criar ela diretamente, ou seja, você precisa instruir de qual tipo aquela Conta é, vamos para a prática para ficar claro:

public abstract class Conta {
    ...// métodos e atributos
}

Essa é a Classe Conta, você não pode chegar em uma outra classe e fazer:

public class TesteConta {
    public static void main (String[] args) {
        Conta conta = new Conta();
    }
}

Essa classe TesteConta não vai compilar, porquê a classe Conta é abstract, agora se você tem uma classe Conta Corrente usando um Extends de Conta, e tentar instanciar, ela vai funcionar:

public class ContaCorrente extends Conta {
        ..// métodos e atributos..

}
public class TesteConta {
    public static void main (String[] args) {
        Conta cc = new ContaCorrente();
    }
}

Entendido? Espero que sim. Bons estudos!

Bem explicado Felipe...

Tudo bem Amilton? Ficou claro?

Vou fechar este tópico. Caso ainda haja alguma dúvida, sinta-se à vontade para abrir outro.

Abraços.