Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — FUNDATEC 2025

ProgramaçãoProgramação Orientada a Objetos
Código
qg473690
Banca
FUNDATEC
Órgão
IF Sul - MG
Ano
2025
Nível
Superior
Cargo
PEBTT - Informática

Para responder a questão, considere o programa a seguir, feito em Java. As linhas estão numeradas apenas para referência.


Imagem da questão

Na linha 37, a forma correta de se criar um objeto a partir da classe Retangulo é:
  1. Aobj Retangulo = new Retangulo();
  2. Bobj neuRetangulo = new Retangulo;
  3. Cnew meuRetangulo = Retangulo;
  4. DRetangulo = new Retangulo();
  5. ERetangulo meuRetangulo = new Retangulo();
Revelar gabarito e comentário

GabaritoE — Retangulo meuRetangulo = new Retangulo();

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

Criação de objetos em Java

Gabarito: letra E. Em Java, a forma correta de instanciar um objeto é Tipo nomeVariavel = new Tipo();, ou seja, Retangulo meuRetangulo = new Retangulo();. A alternativa E é a única que segue exatamente essa sintaxe, declarando a variável com o tipo da classe, atribuindo um nome e utilizando o operador new seguido do construtor com parênteses.

A criação de objetos é um dos conceitos fundamentais da Programação Orientada a Objetos (POO). Uma classe, como Retangulo, funciona como um molde ou modelo que define as características (atributos) e comportamentos (métodos) que os objetos daquele tipo terão. O objeto, por sua vez, é uma instância dessa classe, ou seja, uma materialização concreta do molde, com seus próprios valores de atributos e identidade única na memória.

O processo de criar um objeto a partir de uma classe é chamado de instanciação. Em Java, a instanciação é feita com o operador new, que aloca memória para o novo objeto e chama o construtor da classe para inicializá-lo. A sintaxe completa é:

NomeDaClasse nomeDaVariavel = new NomeDaClasse();

Vamos decompor essa sintaxe:

  1. NomeDaClasse (à esquerda do =): é a declaração do tipo da variável. Diz ao compilador que a variável nomeDaVariavel irá armazenar uma referência a um objeto do tipo NomeDaClasse.

  2. nomeDaVariavel: é o identificador (nome) que daremos à variável que guardará a referência ao objeto. É por esse nome que acessaremos o objeto no restante do código.

  3. new NomeDaClasse(): é a criação do objeto em si. O operador new aloca a memória e o NomeDaClasse() chama o construtor (que pode ter ou não parâmetros) para inicializar o objeto.

  4. ;: termina a instrução.

A pegadinha desta questão está em reconhecer que a declaração da variável e a criação do objeto são duas coisas distintas que aparecem juntas na mesma linha. A banca tenta confundir o candidato com variações incorretas dessa sintaxe, como inverter a ordem, usar palavras-chave erradas ou esquecer os parênteses do construtor.

NÃO CAIA NESSA!

A banca explora a confusão entre a sintaxe de declaração de variável e a de criação de objeto. Em Java, não existe a palavra-chave obj para declarar objetos (como em algumas outras linguagens), e o construtor sempre exige os parênteses (). As alternativas A, B, C e D erram exatamente nesses pontos.

  1. 1Tipo (classe)
  2. 2Nome da variável
  3. 3Operador new
  4. 4Construtor ()
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa obj Retangulo = new Retangulo(); está errada porque usa a palavra obj como se fosse um tipo de dado. Em Java, não existe um tipo primitivo ou palavra-chave obj para declarar objetos. A declaração correta deve usar o nome da classe (Retangulo) como tipo da variável.

Alternativa B — ❌ Incorreta

A alternativa obj neuRetangulo = new Retangulo; comete dois erros: usa a palavra obj como tipo (mesmo erro da alternativa A) e, além disso, esquece os parênteses () após o nome da classe no construtor. Em Java, o construtor é um método especial e, como todo método, precisa dos parênteses para ser invocado: new Retangulo().

Alternativa C — ❌ Incorreta

A alternativa new meuRetangulo = Retangulo; está completamente invertida. O operador new deve vir antes do nome da classe (para criar o objeto) e depois do sinal de atribuição (=), não antes da variável. A ordem correta é Retangulo meuRetangulo = new Retangulo();. Além disso, falta o () após Retangulo.

Alternativa D — ❌ Incorreta

A alternativa Retangulo = new Retangulo(); está errada porque não declara uma variável. Ela tenta atribuir um novo objeto diretamente ao nome da classe Retangulo, o que não é permitido. É necessário declarar uma variável (com um nome) para armazenar a referência ao objeto criado.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa Retangulo meuRetangulo = new Retangulo(); é a única que segue exatamente a sintaxe correta de instanciação em Java: Tipo nomeVariavel = new Tipo();. Ela declara a variável meuRetangulo do tipo Retangulo, cria um novo objeto com new Retangulo() e atribui a referência à variável.

Gabarito: letra E

Link permanente: /questoes/qg473690