SóProvas


ID
3030757
Banca
IDECAN
Órgão
IF-PB
Ano
2019
Provas
Disciplina
Programação
Assuntos

Dado um projeto Java onde temos duas classes concretas A e H, duas interfaces B e D e uma classe abstrata C, todas no mesmo pacote, assinale o único código permitido em Java.

Alternativas
Comentários
  • Primeiramente, o enunciado da questão nada diz sobre F, se é uma classe; Ou classe abstrata; Ou Interface...

    Vamos descobrir:

    a) interface F extends C{ }

    Incorreta! uma interface NÃO PODE SER INSTANCIADA e ao estender uma classe abstrata( C) devemos implementa-la na classe filha. Como vamos instanciar uma classe abstrata em um lugar em que nada pode ser instanciado?

    b) class F implements C{ }

    Incorreta, por um detalhe, mas incorreta, para estender uma classe usamos a palavra-chave extends

    c)class F extends A,H{ }

    Incorreta, em Java, não possuímos herança múltipla

    d) interface F implements C{ }

    Incorreta, há dois erros nesta alternativa, conforme explicado na alternativa A, não podemos instanciar uma interface, além do mesmo erro da alternativa A, para estender uma classe abstrata usamos a palavra extends

    e) class F extends C{ }

    Correta, não sabíamos se F era classe, ou classe abstrata, ou interface, porém analisando a alternativa inferimos que é possivel a classe F estender a classe abstrata C

    Obs.: E se F for classe abstrata? A alternativa continuará correta, visto que podemos ter uma classe abstrata estendendo outra classe abstrata

  • No Java:

    Para para herdar uma classe abstrata ou concreta seu utiliza o "extends".

    Para para herdar uma interface seu utiliza o "implements".

  • Uma interface pode estender outra interface, por exemplo:

    interface B { }

    interface J extends B { }