FGV — Analista Legislativo - Informática Legislativa — Sobrecarga de métodos — 2023

Enunciado

Considere o trecho de código Java exibido a seguir. public class Main { static int m1(int x, int y) { return x + y; } static double m1(double x, double y) { return x * y; } public static void main(String[] args) { int a = m1(20, 3); double b = m1(3.56, 1.01); System.out.println("int: " + a); System.out.println("double: " + b); } } A execução desse código produz

Alternativas

  1. A)

    um erro de sintaxe, pois há dois métodos com o mesmo nome.

  2. B)

    um erro de execução, pois há incompatibilidade de tipos.

  3. C)

    a exibição das linhas double: 23.0 double: 3.5956

  4. D)

    a exibição das linhas int: 23 int: 4

  5. E)

    a exibição das linhas int: 23 double: 3.5956

Gabarito e comentário

Resposta correta: E

As assinaturas distinguem os métodos pelos tipos dos parâmetros. A chamada com inteiros soma 20 e 3; a chamada com double multiplica 3,56 por 1,01.

Questões relacionadas