Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2023

ProgramaçãoLinguagens de programação
Código
ce159939
Banca
CESPE / CEBRASPE
Órgão
SEFIN de Fortaleza - CE
Ano
2023
Nível
Superior
Cargo
Analista Fazendário Municipal - Área de Conhecimento: Ciência da Computação, Informática/Processamento de Dados
Julgue o item que se segue, a respeito de Python, Java e orientação a objetos.Após ser executado, o código em Java a seguir apresentará 20 como resultado.interface Foo{int x = 10;}public class Acme {public static void main(String[] args) {Foo.x = 20;System.out.println(Foo.x);}}
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Java - Interface fields are implicitly final

Gabarito: ❌ ERRADO. O código apresentado não compila, portanto não exibirá resultado algum — jamais 20. Em Java, campos declarados em interfaces são implicitamente public static final, ou seja, constantes. A tentativa de reatribuir Foo.x = 20 gera erro de compilação.

A banca testa o conhecimento de que variáveis de interface são finais por padrão. Muitos candidatos podem pensar que o código compila e imprime 20, mas a atribuição viola a regra.

Análise detalhada

  • A interface Foo declara int x = 10;. Em Java, todo campo de interface é implicitamente public static final. Logo, x é uma constante.

  • Na classe Acme, a linha Foo.x = 20; tenta modificar uma variável final — operação proibida. O compilador rejeita o código.

  • Se a linha fosse removida e o código apenas imprimisse Foo.x, o resultado seria 10. Mas com a atribuição, o código nem compila.

NÃO CAIA NESSA!

A banca induz o candidato a acreditar que o código executará normalmente, como se x fosse uma variável comum. Em muitos concursos, a pegadinha é exatamente essa: esquecer que campos de interface são final.

Conclusão: o item está ERRADO. O código não produz nenhuma saída — ocorre erro de compilação.

Link permanente: /questoes/ce159939