Problemas com compilação de classes filhas

2 respostas
P

Pessoal, estou criando essa classe abstrata:

public abstract class Vogal {

    protected Figura[][] figuras = new Figura[7][5];

    public abstract void  posicionar(int posicaoX, int posicaoY);

    public abstract void definirFigurasAcesasNaLinha(int linha, boolean f0, boolean f1, boolean f2, boolean f3, boolean f4);

    protected abstract void criarFiguras();

    protected abstract void definirFigurasAcesas();
}

E esta classe filha

public class LetraA extends Vogal {

    // Construtor
    public LetraA() {
        super();
    }

    /** 
     * Método criarFiguras
     */
    protected void criarFiguras() {
        // cria as figuras
        for (int linha=0; linha<figuras.length; linha++) {
            for (int coluna=0; coluna<figuras[linha].length; coluna++) {
                figuras[linha][coluna] = new Figura();
            }
        }
    }
    /** 
     * Método definirFigurasAcesas
     */
    protected void definirFigurasAcesas() {
        // cada instrução abaixo configura quais figuras estarão acesas ou
        // apagadas em cada linha do array bidimensional de Figuras
        definirFigurasAcesasNaLinha(0, true, true, true, true, true);
        definirFigurasAcesasNaLinha(1, true, false, false, false, true);
        definirFigurasAcesasNaLinha(2, true, true, true, true, true);
        definirFigurasAcesasNaLinha(3, true, false, false, false, true);
        definirFigurasAcesasNaLinha(4, true, false, false, false,true);
        definirFigurasAcesasNaLinha(5, true, false, false, false, true);
        definirFigurasAcesasNaLinha(6, true, false, false, false, true);
    }
}

sou leigo e java, e na hora de compilar apresenta esse erro

LetraA.java:2: LetraA is not abstract and does not override abstract method definirFigurasAcesasNaLinha(int,boolean,boolean,boolean,boolean,boolean) in Vogal
public class LetraA extends Vogal {

Estu usando o javac para compilar… não entendo o que esta ocorrendo, alguém sabe me ajudar?

2 Respostas

peczenyj

Vc tem uma classe abstrata, com metodos abstratos.

Se vc extende essa classe,

  • vc extende como uma classe abstrata ou
  • vc implementa os métodos abstratos.

Simples assim.

davidtiagoconceicao

Uma classe que extende uma classe abstrata deve implementar todos os métodos definidos como abstratos na superclasse, a não ser que a subclasse também seja abstrata. Ou seja, todos os métodos marcados como abstract na sua superclasse devem ao menos ter uma assinatura registrada na sub-classe.
No seu caso, existem métodos que não foram implementados na subclasse.

Criado 13 de novembro de 2008
Ultima resposta 13 de nov. de 2008
Respostas 2
Participantes 3