Given:
class Overloading {
void x (int i) {
System.out.println("one");
}
void x (String s) {
System.out.println("two");
}
void x (double d) {
System.out.println("three");
}
public static void main(String[] args) {
new Overloading().x (4.0);
}
What is the result?
A.
One
B.
Two
C.
Three
D.
Compilation fails
Explanation:
In this scenario the overloading method is called with a double/float value, 4.0. This makes the third
overload method to run.
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. Overloaded methods are differentiated by the
number and the type of the arguments passed into the method.