Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FUNDATEC 2025

ProgramaçãoPlataforma Java
Código
qg473691
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

Para as linhas 40 e 41, respectivamente, a forma correta de solicitar a área e o perímetro do retângulo através dos métodos do objeto é:
  1. ASystem.out.println("Área: " + calculaArea());System.out.println("Perímetro: " + calculaPerimetro());
  2. BSystem.out.println("Área: " + meuRetangulo.calculaArea());System.out.println("Perímetro:" + meuRetangulo.calculaPerimetro());
  3. CSystem.out.println("Área: " + Retangulo.calculaArea());System.out.println("Perímetro: " + Retangulo.calculaPerimetro());
  4. DSystem.out.println("Área: " + new(Retangulo.calculaArea()));System.out.println("Perímetro: " + new(Retangulo.calculaPerimetro()));
  5. ESystem.out.println("Área: " + Retangulo.calculaArea(10.0f, 20.0f));System.out.println("Perímetro: " + Retangulo.calculaPerimetro(10.0f, 20.0f));
Revelar gabarito e comentário

GabaritoB — System.out.println("Área: " + meuRetangulo.calculaArea()); System.out.println("Perímetro:" + meuRetangulo.calculaPerimetro());

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

Chamada de métodos em Java: instância vs. classe

Gabarito: letra B. Para solicitar a área e o perímetro do retângulo nas linhas 40 e 41, a forma correta é meuRetangulo.calculaArea() e meuRetangulo.calculaPerimetro(), pois os métodos são de instância e devem ser chamados através do objeto criado, e não diretamente pela classe. A alternativa B é a única que utiliza a sintaxe correta de chamada de método em um objeto em Java.

Em Java, a forma de chamar um método depende de ele ser um método de instância ou um método estático. Métodos de instância pertencem a um objeto específico e precisam ser invocados através de uma referência a esse objeto. Métodos estáticos pertencem à classe e podem ser chamados diretamente pelo nome da classe. A questão cobra exatamente essa distinção: como o programa cria um objeto meuRetangulo da classe Retangulo, os métodos calculaArea() e calculaPerimetro() devem ser chamados através desse objeto.

A sintaxe para chamar um método de instância é nomeDoObjeto.nomeDoMetodo(). No caso, o objeto é meuRetangulo, então a chamada correta é meuRetangulo.calculaArea() e meuRetangulo.calculaPerimetro(). A alternativa B apresenta exatamente essa sintaxe, com a chamada dentro do System.out.println() para exibir o resultado.

As demais alternativas apresentam erros comuns: chamar o método sem referência ao objeto (alternativa A), chamar o método pela classe como se fosse estático (alternativa C), usar uma sintaxe inválida com new (alternativa D) e passar argumentos que não são necessários (alternativa E). A pegadinha da banca está em confundir a chamada de método de instância com a de método estático, ou em esquecer a referência ao objeto.

1Método de instância
Pertence ao objeto
Sintaxe: objeto.metodo()
meuRetangulo.calculaArea()
2Método estático
Pertence à classe
Sintaxe: Classe.metodo()
Retangulo.calculaArea()
3Erros comuns
Chamar sem referência ao objeto
Chamar pela classe como estático
Usar new para chamar método
Passar argumentos desnecessários
Chamada de métodos em Java
LEVELsoulevel.com.br
Chamada de métodos em Java: Método de instância (Pertence ao objeto, Sintaxe: objeto.metodo(), meuRetangulo.calculaArea()); Método estático (Pertence à classe, Sintaxe: Classe.metodo(), Retangulo.calculaArea()); Erros comuns (Chamar sem referência ao objeto, Chamar pela classe como estático, Usar new para chamar método, Passar argumentos desnecessários)

Alternativa A — ❌ Incorreta

A alternativa A chama os métodos calculaArea() e calculaPerimetro() sem referência a um objeto. Em Java, métodos de instância não podem ser chamados diretamente pelo nome; é necessário usar a referência ao objeto. Essa sintaxe geraria um erro de compilação, pois o compilador não encontraria os métodos no escopo atual.

Alternativa B — ✅ Correta ⟵ GABARITO

A alternativa B usa a sintaxe correta: meuRetangulo.calculaArea() e meuRetangulo.calculaPerimetro(). O objeto meuRetangulo é a referência à instância da classe Retangulo, e os métodos são chamados através dela. Isso está de acordo com os princípios de orientação a objetos, onde métodos de instância são invocados por um objeto específico.

Alternativa C — ❌ Incorreta

A alternativa C chama os métodos pela classe: Retangulo.calculaArea(). Isso só seria válido se os métodos fossem estáticos. Como a questão indica que são métodos de instância (pois o objeto meuRetangulo foi criado), essa chamada geraria erro de compilação, pois métodos não estáticos não podem ser acessados diretamente pela classe.

Alternativa D — ❌ Incorreta

A alternativa D usa uma sintaxe inválida: new(Retangulo.calculaArea()). A palavra-chave new é usada para criar novos objetos, não para chamar métodos. Além disso, a sintaxe new( ... ) não é válida em Java. A forma correta de chamar um método de instância é através do objeto, como na alternativa B.

Alternativa E — ❌ Incorreta

A alternativa E chama os métodos pela classe e ainda passa argumentos: Retangulo.calculaArea(10.0f, 20.0f). Isso seria válido apenas se os métodos fossem estáticos e aceitassem dois parâmetros float. Como a questão indica que os métodos são de instância e não recebem parâmetros (pois o objeto já contém as dimensões), essa chamada está incorreta.

Gabarito: letra B

Link permanente: /questoes/qg473691