FC ConcursosFC Concursos

Questão FC373260

Considere o trecho de programa Java abaixo. É correto afirmar que

Linguagens de Programação

FCC · 2022

Considere o trecho de programa Java abaixo.

É correto afirmar que

  1. o código mostra um exemplo de sobrescrita de métodos, pois há vários métodos com o mesmo nome, porém, com parâmetros diferentes.
  2. ocorrerá um erro no último método reajuste, pois este não pode ser estático.
  3. uma chamada correta ao método reajuste, em condições ideais, é double sal = 1000.5; double c = Calcular.reajuste(sal);
  4. ocorrerá um erro na classe Calcular, pois não é permitido criar vários métodos com o mesmo nome, como ocorre com o método reajuste.
  5. uma chamada correta ao método reajuste, em condições ideais, é float sal = (float) 1000.5; double c = Calcular.reajuste(sal);
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A chamada float sal = (float) 1000.5; seguida de double c = Calcular.reajuste(sal); está correta porque trata-se de sobrecarga e de regras de tipos primitivos em Java.

O literal 1000.5 é, por padrão, do tipo double; para armazená‑lo em um float é obrigatório um cast explícito (ou usar o sufixo f), daí o (float) antes do literal.

Ao passar a variável sal à chamada, o compilador seleciona a versão do método cuja assinatura aceita um float (sobrecarga). Como o método declarado retorna double, é válido atribuir seu resultado a double c.

O uso de Calcular.reajuste(...) com o nome da classe indica que o método é estático, permitindo a chamada direta sem instanciar a classe.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo