SóProvas


ID
3234469
Banca
CESGRANRIO
Órgão
UNIRIO
Ano
2019
Provas
Disciplina
Programação
Assuntos

As classes e interfaces Java a seguir ocupam arquivos distintos, situados no pacote default


public interface ITA {

    void a_m01();

    void a_m02();

}

public interface ITB extends ITA {

     void b_m01();

}

public abstract class CA {

    private void a_ma02( ) {

    }

public final void a_m01() {

 }

protected void op02( ) {

 }

public abstract void op03();

}


Qual versão da classe XY NÃO produzirá erros de compilação?

Alternativas
Comentários
  • Questão muito difícil!

    A letra A peca na tentativa de implementar o método a_m01() que já foi implementado na classe pai e está como FINAL. Dessa forma, não se pode mais reescrever esse método em classes filhas, pois o FINAL impede isso.

    A letra E tem uma pegadinha boa: Se a classe XY não estivesse como abstrata, a implementação do método op03() seria obrigatória para compilar o programa, pois ele está como abstract na classe pai. Métodos abstratos só são obrigados de serem implementados nas classes filhas quando elas são concreta.

    Demais erros:

    Letra B: a alternativa tenta reduzir a visibilidade do método op02(), o que na herança não é permitido. Só

    é permitida uma visibilidade igual ou mais permissiva que a do método originário da classe pai.

    Letra C: Faltou implementar o método a_m02().

    Letra D: Faltou implementar o método op03().

    Gabarito E

  • por que toda questão da cesgranrio tem que ser extensa?