-
Na interface seus métodos são sempre públicos e esta declaração não é obrigatória, é o único caso em que se nada for declarado será considerado public; nos modificadores, se você não colocar nada na frente será default; na interface, será public.
E seus atributos sempre serão static final:
- final: não pode alterar o atributo; e
- static: o atributo é da classe e não das instâncias, ou seja todos os objetos da classe compartilham aquele atributo.
Então, já não podem ser B e C porque na declaração não são public e nem vazio.
Não pode ser A e D porque tem corpo. E interface você diz o nome dos métodos e a assinatura.
Resposta correta letra E: double calcular(double n1, double n2) - como não foi declarado o modificador na frente será public.
-
Todos os métodos declarados numa interface são 100% abstratos (quem for implementar a interface definirá seu comportamento), ou seja:
1 - não há corpo, apenas uma assinatura.
2 - o modificador de acesso deve ser público.
3 - não há construtores.
Ex: interface Raivoso { // animais que sejam assim
public void morderAgressivamente (int valorForcaNewton);
public void assustar ();
Análise:
a) E. O método está implementado.
b) E. O modificador está como 'protected'. Somente é permitido 'public'.
c) E. O modificador está como 'private'. Somente é permitido 'public'.
d) E. O método está implementado.
e) C.
-
Só uma atualização do Java 8, os métodos default podem ser públicos ou privados. Não podem ser protected ou default(package).