Erro para estender a classe [Resolvido]

2 respostas
KaosBr

Boa noite,

Acabei de criar duas classes, uma para conter atributos e metodos, outra para herdar esses atributos. O erro da imagem abaixo está sendo exibido:

Segue abaixo as classes criadas:

public class CadastroDeAmigos extends ExercicioClasse{

    public static void main(String args[])
    {
        System.out.println();
    }
public class ExercicioClasse {

    private String _nome;
    private String _snome;
    private int _idade;

    public ExercicioClasse(String _nome, String _snome, int _idade)
    {
        this._nome = _nome;
        this._snome = _snome;
        this._idade = _idade;
    }

    public void setNome(String _mnome)
    {
        _nome = _mnome;
    }

    public String getNome()
    {
        return _nome;
    }

    public void setSNome(String _msnome)
    {
        _snome = _msnome;
    }

    public String getSNome()
    {
        return _snome;
    }

    public void setIdade(int _midade)
    {
        _idade = _midade;
    }

    public int getIdade()
    {
        return _idade;
    }

    public void mostraMensagem()
    {
        System.out.println("As informações inseridas foram:");
        System.out.println(getNome());
        System.out.println(getSNome());
        System.out.println(getIdade());
    }

}

Pelo que entendi, do aviso da imagem, não foi encontrado o construtor. Já conferi o contrutor, mas não encontrei erro. O que está acontecendo?

[]s

2 Respostas

E

Se sua classe tem um construtor com parâmetros mas não tem um construtor sem parâmetros, ao estendê-la é necessário, no construtor da subclasse (neste caso, em CadastroDeAmigos), chamar o construtor com parâmetros obrigatoriamente.

A forma mais simples de corrigir isso é criar um construtor sem parâmetros na superclasse (ou seja, em ExercicioClasse)

KaosBr

Obrigado fiz a correção abaixo, conforme, me explicou, e o erro foi corrido.

public class ExercicioClasse {

    private String _nome;
    private String _snome;
    private int _idade;

    public ExercicioClasse(String _nome, String _snome, int _idade)
    {
        this._nome = _nome;
        this._snome = _snome;
        this._idade = _idade;
    }

    /**
     * Contrutor vazio para atender as subclasses
     */
    public ExercicioClasse()
    {

    }

    public void setNome(String _mnome)
    {
        _nome = _mnome;
    }

    public String getNome()
    {
        return _nome;
    }

    public void setSNome(String _msnome)
    {
        _snome = _msnome;
    }

    public String getSNome()
    {
        return _snome;
    }

    public void setIdade(int _midade)
    {
        _idade = _midade;
    }

    public int getIdade()
    {
        return _idade;
    }

    public void mostraMensagem()
    {
        System.out.println("As informações inseridas foram:");
        System.out.println(getNome());
        System.out.println(getSNome());
        System.out.println(getIdade());
    }

}
Criado 25 de junho de 2010
Ultima resposta 25 de jun. de 2010
Respostas 2
Participantes 2