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

Implicit super contructor [Nome da Classe] is undefined for default contrucutor....

Estou com esse problema, do qual, eu não consigo fazer um extends de uma classe sem criar um constructor na classe filha. Um erro de compilação aparece dizendo:

"Implicit super constructor [Nome da Classe] is undefined for default construcutor. Must defined an explicit constructor."

Por exemplo, na classe Mãe:

public  Orcamento(double  valor){
        this.valor =  valor;
        this.itens = new ArrayList<Itens>(); 
    }

Na classe filha, estou sendo obrigado a implantar esse constructor:

    public emAprovacao(double valor) {
        super(valor);
    }

Achei um fórum que dizia que podia ser a JRE, mas não é. Alguém pode me explicar o porquê que devo implementar esse constructor sendo que no vídeo da aula o professor não o coloca.

Obs: Estou usando pacotes, mas não acho que devem ser eles. Criei um projeto aparte e apresenta o mesmo problema

Quando eu tiro os "finals" dos atributos e crio um contructor padrão vazio o erro some.

4 respostas

Cole as duas classes completas, por favor.

Eu já entendi o meu problema... Eu estava sendo tanso :S

Agora quero entender como e quando eu uso o FINAL e por que

solução!

O final é usado para indicar que a variável não vai apontar para outro objeto. Ex.:

final String nome = "Bob";

nome = "Peter"; //aqui dá erro, não pode atribuir outra vez

O final é usado bastante com classes anônimas.

class Foo {
    void teste() {
        int numero = 2;
        new Runnable() {
            public void run() {
                 System.out.print(numero); //aqui dá erro, pois numero precisa ser final
            }
        };
    }
}

Alguma dúvida ainda Paulo se não você pode marcar a resposta do colega como solucionadora finalizando o tópico.