Answer:
The output is "A"
Explanation:
public class Solution {
public static void main(String args[]) {
mystery(7);
}
public static void mystery(int a) { System.out.println("A"); }
public static void mystery(double a) { System.out.println("B"); }
public static void mystery(int a, double b) { System.out.println("C"); }
public static void mystery(double a, int b) { System.out.println("D"); }
}
In the code above; mystery is defined in four different ways called method overloading. Method overloading is when same method is defined with different parameters.
In the first case; mystery will be called if the argument is int.
In the second case; mystery will be called if the argument is double.
In the third case; mystery will be called if the arguments are int and double.
In the fourth case; mystery will be called if the arguments are double and int.
When mystery(7) is called; the mystery method requiring only int will be called and the output is "A".