-
Dentro das interfaces existem somente assinaturas de métodos e
propriedades, cabendo à classe que a utilizará realizar a implementação
das assinaturas, dando comportamentos práticos aos métodos.
Fonte: http://www.devmedia.com.br/entendendo-interfaces-em-java/25502
-
A partir do Java8 é possível incluir uma implementação padrão (default) para os métodos de interfaces.
https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html
-
Considerando que o Java 8 esta aí desde março de 2014, essa questão é um erro grosseiro.
-
Os métodos sem implementação são chamados de abstratos.
Gabarito:
d) X.
-
Interfaces:
· Uma interface não é considerada uma Classe e sim uma Entidade.
· Não possui implementação, apenas assinatura, ou seja, apenas a definição dos seus métodos sem o corpo.
· Todos os métodos são abstratos.
· Seus métodos são implicitamente Públicos e Abstratos.
· Não há como fazer uma instância de uma Interface e nem como criar um Construtor.
· Funcionam como um tipo de "contrato", onde são especificados os atributos, métodos e funções que as classes que implementem essa interface são obrigadas a implementar.
http://www.devmedia.com.br/interfaces-x-classes-abstratas/13337
-
a) ERRADO - A partir do Java 8, lançado em 2014, é possível ter métodos implementados em interfaces, chamados de "defender methods". A alternativa fala em métodos setter que são usados para atualizar atributos. Nas interfaces é possível ter atributos, entretanto, esses atributos são constantes, no qual seus valores não podem ser alterados.
b) ERRADO - Nas interfaces os métodos são sempre públicos.
c) CORRETO - A partir do Java 8, é possível ter métodos estáticos. Lembrando que o enunciado fala: "podem conter..." Nada impede de uma interface ter apenas métodos estáticos. O enunciado com essa alternativa não fala que em interfaces, de forma genérica, só podem ter métodos estáticos.
d) CORRETO - Conforme visto antes, o Java 8 prevê a inclusão de métodos implementados em interfaces. Entretanto, novamente unindo enunciado e a alternativa falam da possibilidade de ter uma interface com assinatura de métodos sem uma implementação. É possível.
e) ERRADO - Interfaces não tem construtores, por isso não podem ser instanciadas.
Acredito que a questão queria cobrar os conceitos de interfaces em Java anteriores à versão 8. Porém, como a questão é de 2016 e não especificou a versão do Java, é PASSÍVEL DE ANULAÇÃO