What is the result?

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?

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.



Leave a Reply 0

Your email address will not be published. Required fields are marked *