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