Sobre a utilização de objetos do tipo enum na linguagem Java, é correto afirmar que:
AConstantes enum são implicitamente public.
BUm tipo enum é uma lista separada por ponto e vírgulas.
CQualquer tentativa de criar um objeto de um tipo enum com um operador new resulta em um erro de compilação.
DTipos enum somente permitem o armazenamento de números inteiros.
EConstantes enum não podem ser utilizadas em instruções for.
Revelar gabarito e comentário▾
GabaritoC — Qualquer tentativa de criar um objeto de um tipo enum com um operador new resulta em um erro de compilação.
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”.
Enum em Java
Gabarito: letra C. Em Java, tipos enum possuem construtor privado e suas instâncias são criadas apenas pelas constantes declaradas no próprio enum. Qualquer tentativa de usar o operador new em um tipo enum gera erro de compilação. Essa é a afirmação correta.
Alternativa A — ❌ Incorreta
Constantes enum são implicitamente public, static e final. A afirmação menciona apenas "public", omitindo os outros modificadores. Além disso, se o próprio enum não for público, suas constantes não serão acessíveis externamente, mas ainda assim são consideradas public na declaração. Por ser incompleta, a banca considerou a alternativa errada.
Alternativa B — ❌ Incorreta
Em um enum, a lista de constantes é separada por vírgulas, não por ponto e vírgula. O ponto e vírgula só é usado após a lista se houver campos ou métodos.
Alternativa C — ✅ Correta ⟵ GABARITO
O construtor de um enum é implicitamente privado. O uso de new para criar uma instância é proibido pela linguagem, resultando em erro de compilação.
Alternativa D — ❌ Incorreta
Tipos enum podem conter campos, métodos e construtores, armazenando objetos de qualquer tipo, não apenas inteiros.
Alternativa E — ❌ Incorreta
Constantes enum são perfeitamente utilizáveis em instruções for (especialmente no enhanced for), como em for (MeuEnum e : MeuEnum.values()).
NÃO CAIA NESSA!
A alternativa A parece verdadeira à primeira vista, mas a banca explora o fato de que enum constants são implicitamente public, static e final. Afirmar apenas "public" é insuficiente e, portanto, a alternativa é considerada incorreta. Atenção a esse tipo de incompletude nas provas.