Multiple choice

What is the output of the given program?

class ScopeTest
{
int x(double d)
{
System.out.println("one");
return 0;
}
String x(double d)
{
System.out.println("two");
return null;
}
double x(double d)
{
System.out.println("three");
return 0.0;
}
public static void main(String[] args)
{
new Overloading().x(4.0);
}
}

  1. One

  2. Two

  3. Three

  4. Compilation fails

  5. Run time error

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

This is the correct choice. Overloading of the x method fails as the input argument in all three cases are double. To use overloading of methods, the argument types must be different. Note: The Java programming language supports overloading methods and Java can distinguish between methods with different method signatures. This means that methods within a class can have the same name if they have different parameter lists.