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);
}
}
-
One
-
Two
-
Three
-
Compilation fails
-
Run time error
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.