Pular para o conteúdo principal

Questão de Programação — Plataforma Java — VUNESP 2026

ProgramaçãoPlataforma Java
Código
gp003726
Banca
VUNESP
Órgão
UNESP
Ano
2026
Cargo
V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - São Paulo
Na linguagem Java, as classes podem herdar métodose atributos de outras classes, segundo uma estruturahierárquica. A classe que está na raiz da hierarquia de classes dalinguagem Java é a
  1. AClass.
  2. BJava.
  3. CMain.
  4. DVoid.
  5. EObject.
Revelar gabarito e comentário

GabaritoE — Object.

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”.

Hierarquia de classes em Java: a classe Object

Gabarito: letra E. Em Java, todas as classes — direta ou indiretamente — herdam da classe java.lang.Object, que é a raiz da hierarquia de classes da linguagem. Isso significa que qualquer classe, seja ela definida pelo programador ou parte da API padrão, tem Object como superclasse última, o que garante métodos comuns como toString(), equals() e hashCode().

A hierarquia de classes é um dos pilares da Programação Orientada a Objetos (POO). Quando uma classe herda de outra, ela recebe seus atributos e métodos, podendo estendê-los ou sobrescrevê-los. Em Java, a herança é simples — uma classe só pode ter uma superclasse direta — mas a cadeia pode ser longa. Por exemplo, uma classe Carro pode herdar de Veiculo, que herda de Object. Nessa cadeia, Object é a superclasse de todas, sem exceção.

A classe Object está no pacote java.lang, que é importado automaticamente em todo programa Java. Ela define métodos essenciais que todas as classes herdam, como toString(), equals(), hashCode(), getClass() e clone(). É por isso que qualquer objeto pode ser passado como parâmetro para métodos que aceitam Object — um conceito fundamental para o polimorfismo.

A pegadinha desta questão está em confundir a classe raiz com outros elementos da linguagem. Class é uma classe que representa metadados de classes em tempo de execução (reflexão), mas não é a raiz da hierarquia. Main é apenas um nome comum para o método principal (public static void main), não uma classe especial. Void é um tipo de retorno que indica ausência de valor, e Java não é uma classe da linguagem. A banca explora exatamente essa confusão entre conceitos que parecem relacionados, mas têm papéis distintos.

Guarde o critério decisivo: a raiz da hierarquia é a classe da qual todas as outras derivam, direta ou indiretamente — e essa é Object. É esse critério que separa a alternativa correta das demais.

1Raiz: Object (java.lang)
Todas herdam, direta ou indiretamente
Métodos comuns: toString, equals, hashCode
2Herança simples
Uma superclasse direta
Cadeia longa (Carro → Veiculo → Object)
3Confundíveis (não são raiz)
Class: metadados/reflexão
Main: método principal
Void: tipo de retorno
Java: nome da linguagem
Hierarquia de classes em Java
LEVELsoulevel.com.br
Hierarquia de classes em Java: Raiz: Object (java.lang) (Todas herdam, direta ou indiretamente, Métodos comuns: toString, equals, hashCode); Herança simples (Uma superclasse direta, Cadeia longa (Carro → Veiculo → Object)); Confundíveis (não são raiz) (Class: metadados/reflexão, Main: método principal, Void: tipo de retorno, Java: nome da linguagem)

Alternativa A — ❌ Incorreta

Class é uma classe do pacote java.lang que representa as classes em tempo de execução, usada em reflexão (por exemplo, Class.forName()). Ela não é a raiz da hierarquia — na verdade, Class também herda de Object. A confusão surge porque o nome parece genérico, mas seu papel é de metadados, não de superclasse universal.

Alternativa B — ❌ Incorreta

Java não é uma classe da linguagem. É o nome da plataforma e da linguagem de programação, mas não existe uma classe chamada Java na hierarquia padrão. O candidato pode confundir o nome da linguagem com uma classe, mas não há tal entidade no código.

Alternativa C — ❌ Incorreta

Main não é uma classe especial. É apenas um nome convencional para a classe que contém o método main, ponto de entrada do programa. Qualquer classe pode ter um método main, e nenhuma delas é a raiz da hierarquia. A confusão vem da associação com o método principal, mas isso não a torna uma superclasse.

Alternativa D — ❌ Incorreta

Void é uma palavra-chave usada como tipo de retorno para métodos que não retornam valor. Também existe a classe java.lang.Void, que é apenas um wrapper para o tipo primitivo void, mas não é a raiz da hierarquia. A confusão surge porque void é um conceito fundamental, mas não tem relação com herança de classes.

Alternativa E — ✅ Correta ⟵ GABARITO

A classe java.lang.Object é a raiz da hierarquia de classes em Java. Todas as classes, sem exceção, herdam dela, direta ou indiretamente. Isso é garantido pela especificação da linguagem: se uma classe não declara explicitamente uma superclasse com extends, ela herda de Object implicitamente. É por isso que métodos como toString() e equals() estão disponíveis em qualquer objeto.

PEGA ESSA DICA!

Para identificar a raiz da hierarquia, pergunte: "qual classe é superclasse de todas as outras, direta ou indiretamente?" Em Java, a resposta é sempre Object. Decore também os métodos que ela fornece: toString(), equals(), hashCode(), getClass() e clone() — eles aparecem com frequência em provas.

Gabarito: letra E

Link permanente: /questoes/gp003726