David Castilho
EQUIPE
18/10/2025 • 12:15
Vamos analisar cada uma das opções para identificar qual instrução uma interface Java pode conter:
a) `public void exibe() {System.out.print("Ok");}`
- Esta opção não é válida para uma interface tradicional, pois interfaces não podem conter implementações de métodos (corpos de métodos) a menos que sejam métodos default ou static, o que não é especificado aqui.
b) `protected sacar(double valor);`
- Interfaces em Java não suportam modificadores de acesso como `protected` para seus métodos. Todos os métodos em uma interface são implicitamente `public`.
c) `private int calcularQuantidade(int n1);`
- Métodos privados em interfaces só foram permitidos a partir do Java 9 e são usados para detalhes de implementação interna de métodos default ou static. No entanto, eles devem ter um corpo, o que não é o caso aqui.
d) `public double calculaTributos() {return 27.5;}`
- Assim como na opção a), interfaces tradicionais não podem conter implementações de métodos, a menos que sejam métodos default ou static, o que também não é especificado aqui.
e) `double calcular(double n1, double n2);`
- Esta opção é válida para uma interface. Em interfaces, os métodos são declarados sem um corpo e são implicitamente públicos e abstratos. Esta declaração está correta e é típica de uma interface.
Portanto, a resposta correta é:
Gabarito: e)
A opção e) `double calcular(double n1, double n2);` é uma instrução correta que uma interface Java pode conter, pois define um método abstrato sem corpo, o que é permitido e esperado em interfaces.
a) `public void exibe() {System.out.print("Ok");}`
- Esta opção não é válida para uma interface tradicional, pois interfaces não podem conter implementações de métodos (corpos de métodos) a menos que sejam métodos default ou static, o que não é especificado aqui.
b) `protected sacar(double valor);`
- Interfaces em Java não suportam modificadores de acesso como `protected` para seus métodos. Todos os métodos em uma interface são implicitamente `public`.
c) `private int calcularQuantidade(int n1);`
- Métodos privados em interfaces só foram permitidos a partir do Java 9 e são usados para detalhes de implementação interna de métodos default ou static. No entanto, eles devem ter um corpo, o que não é o caso aqui.
d) `public double calculaTributos() {return 27.5;}`
- Assim como na opção a), interfaces tradicionais não podem conter implementações de métodos, a menos que sejam métodos default ou static, o que também não é especificado aqui.
e) `double calcular(double n1, double n2);`
- Esta opção é válida para uma interface. Em interfaces, os métodos são declarados sem um corpo e são implicitamente públicos e abstratos. Esta declaração está correta e é típica de uma interface.
Portanto, a resposta correta é:
Gabarito: e)
A opção e) `double calcular(double n1, double n2);` é uma instrução correta que uma interface Java pode conter, pois define um método abstrato sem corpo, o que é permitido e esperado em interfaces.