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
- 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.
- ocorrerá um erro no último método reajuste, pois este não pode ser estático.
- uma chamada correta ao método reajuste, em condições ideais, é double sal = 1000.5; double c = Calcular.reajuste(sal);
- 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.
- 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