Determine Output:
class A{
public static void method(int i){
System.out.print("Method 1");
}
public static int method(String str){
System.out.print("Method 2");
return 0;
}
}
public class Test{
public static void main(String args[]){
A.method(5);
}
}
class A{
public static void method(int i){
System.out.print("Method 1");
}
public static int method(String str){
System.out.print("Method 2");
return 0;
}
}
public class Test{
public static void main(String args[]){
A.method(5);
}
}A. Method 1
B. Method 2
C. Compile time error as final method can't be overloaded
D. None of the above
Answer: Option A
Solution (By Examveda Team)
Overloading depends only on the method or constructor name and its parameter list i.e.
method(int i) and method(String str)
So, overloading does not depend on access modifiers(public, private, protected), access specifiers(static, final) and return type.

Join The Discussion