SóProvas


ID
2702806
Banca
FCC
Órgão
SABESP
Ano
2018
Provas
Disciplina
Programação
Assuntos

As interfaces são usadas nas aplicações Java quando se deseja permitir que diversas classes implementem determinados métodos, mesmo que de formas diferentes. Em uma interface Java

Alternativas
Comentários
  • Estamos falando de Interfaces em Java, portanto:

     

    a) CERTA. Obs: Nas interfaces os métodos são abstratos e SEMPRE públicos. 

    b) Não existe essa restrição.

    c) Interfaces não contém construtores.

    d) Mesmo nome e parâmetros diferentes? Pode sim, é a famosa SOBRECARGA (ou Overloading) de métodos.

    e) Não existe essa restrição.

  • Interface é como um contrato que define um comportamento (através dos métodos). Quem for implementar ela, deve dizer(especificar) como é esse comportamento. Ex: classe Carro. Interface SerAutomóvel com os métodos:
    frear(),acelerar() ... [embora cada carro faça isso - eles contêm suas particulares].
    a) C. Os métodos numa interface não tem corpo (são abstratos) e públicos.
    b) E. Não há essa restrição.
    c) E. Não é possível criar construtores para interfaces.
    d) E. Podem e inclusive isso é o conceito de sobrecarga: métodos com o mesmo nome,retorno se diferenciando apenas nos parâmetros (seja na quantidade de argumentos ou nos tipos). Ex:
    calculaSoma (int val1,int val2);
    calculaSoma (float val1,valor2);
    e) E. Não há essa restrição, já que implementaremos (daremos corpo ao método) aqueles que somente nos interessamos.

  • LETRA A

    Na letra E eu discordo dos colegas.

    A interface estabelece um contrato que obriga o extensor a IMPLEMENTAR os métodos contido nela, TODOS ELES.

    Na minha visão IMPLEMENTAR é colocar para funcionar, e você pode implementar um método que funcione mas que não faça nada. Se ele vai realizar alguma função ou não isso não importa, mas ele deve ser implementado.

    Então na minha análise todo enunciado da letra E está errado, pois TODAS AS SUBCLASSES DEVEM IMPLEMENTAR TODOS OS MÉTODOS CONTIDOS NA INTERFACE.

  • Bem. Quanto a letra E:

    devmedia.com.br/introducao-aos-default-methods-do-java-8/36876

    ...

    "quando uma classe implementar uma interface, mas não sobrescrever seus métodos, será utilizado exatamente o código que foi definido como implementação padrão na interface"

    ...

    public interface IAceleracao { 

    default void acelerar( ) { 

      System.out.println("ACC"); 

     }

    }

  • FCC para dificultar coloca questões erradas... ótima técnica.